c语言中a=a^b;这个语句是怎么计算的,举个例子说明

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中a=a^b;这个语句是怎么计算的,举个例子说明相关的知识,希望对你有一定的参考价值。

参与运算的两个值,如果两个相应位相同,则结果为0,否则为1。即:0^0=0,
1^0=1,
0^1=1,
1^1=0
例如:10100001^00010001=10110000
0^0=0,0^1=1
0异或任何数=任何数
1^0=1,1^1=0
1异或任何数-任何数取反
任何数异或自己=把自己置0
(1)按位异或可以用来使某些特定的位翻转,如对数10100001的第2位和第3位翻转,可以将数与00000110进行按位异或运算。
         
10100001^00000110=10100111

//1010
0001
^
0x06
=
1010
0001
^
6
(2)通过按位异或运算,可以实现两个值的交换,而不必使用临时变量。例如交换两个整数a,b的值,可通过下列语句实现:

a=10100001,b=00000110

a=a^b;
  //a=10100111

b=b^a;
  //b=10100001

a=a^b;
  //a=00000110
(3)异或运算符的特点是:数a两次异或同一个数b(a=a^b^b)仍然为原值a.
参考技术A 代号a等于a的原值乘以B
也就是说吧原来的a乘以b之后再次赋值给a---生成新的a
此时你使用printf输出a时,a就成了新值了
例如:a=1,b=3,
执行a=a*b后,输出a
得出a=3
--------------------------------哦,我看错了,就是将a进行b次方后的值赋给a,例如:a=2,b=3,
执行a=a^b后,输出a
得出a=8 (2的3次方)
参考技术B ^表示按位异或运算。3^6=(00000011)2^(00000110)2=(00000101)2=5。其中(00000011)2表示2进制。
//测试程序如下:
#include <stdio.h>
void main()

printf("%d\n",6^3);
本回答被提问者采纳
参考技术C //file: a.c
//gcc -lm a.c
//./a.out

#include <math.h>
#include <stdio.h>

int main( void )

double a = 2;
int b = 3;
printf("a ^ b = %.0lf\n", pow(a,b) );
return 0;


用数学库就可以了math.h
参考技术D 异或运算
比如100010^110100=010110
规则为:0^0=0
0^1=1
1^0=1
1^1=0

JAVA中&&和是啥意思 怎么用

参考技术A

&&和||是一种逻辑运算符,&&是逻辑与,当两个数都为真,则结果为真。||是逻辑或,两个数任意一个为真,则结果为真。

举个例子:

1、a && b 

当a、b都为真时,结果为真。有一个为假或者都为假时结果为假。

2、a || b 

当a、b有一个为真时,结果为真。a、b都为假时结果为假。

扩展资料:

在java中还有其他的逻辑符号,比如:!、|、 &

“!”是非运算符号,比如a为真,则!a则为假。a如果为假,则!a为真。

而“|”也是逻辑或,“&”也是逻辑与,但是他们与“||”和“&&”有些区别,区别如下:

“&”与“|”无论第一个判断条件是否成立,逻辑运算符前后两个条件都会进行判断。

“&&”与“||”,前者第一个条件不成立,后面的条件均不进行判断,返回false;后者第一个条件成立,后面的条件均不进行判断,返回true。

参考技术B

一、意思以及运用方法如下:

1、第一步我们首先需要了解&&和||是一种逻辑运算符,&&是逻辑与,当两个数都为真,条件为真,||是逻辑或,两个数任意一个为真,条件为真,如下图所示:

2、第二步这里新建一个Test类做样例,定义a变量为true,b变量为false,输出a&&b的结果,如下图所示:

3、第三步运行项目,我们在控制台可以看到结果为false,a&&b必须a,b都为真才为真,如下图所示:

4、第四步main方法中添加一行代码,输出a||b的结果,如下图所示:

5、第五步在控制台可以看到a||b的结果为true,a||b中a,b有一个为真结果为真,如下图所示:

6、第六步&&和||运算符常用于if语句中,可以看到下面a满足大于b的条件,但是不满足大于c的条件,如果是&&,则进去else语句中,如果是||,进去if语句中,如下图所示:

二、什么是JAVA

1、Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

2、Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

以上是关于c语言中a=a^b;这个语句是怎么计算的,举个例子说明的主要内容,如果未能解决你的问题,请参考以下文章

在c语言编程中,如果先执行一条语句,隔段时间,在执行下一条语言,该怎样实现呢?

c语言if语句多个条件怎么写?

c语言中的 条件语句 if else

计算机C语言中的关键字:case是啥意思?

C语言怎么用for循环为二维数组赋值?请举个例子。

这个有大于小于号的c语言计算,怎么算。a b的值是啥?