c语言 a^=b^=a^=b是什么意思?

如题所述

^是按位异或,两者真值相同则假,真值相反则真。例如a^=b是a=a^b,若a,b值均为真或者均为假,则a为假,反之,则为真。a^=b^=a^=b这是赋值的连续运算,从最右边往左算。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-05-09
交换a和b的值
^是异或的意思
上面等式可以改写为
a=a^b
b=b^a
a=a^b本回答被网友采纳
第2个回答  2011-12-16
不通过设置第三个变量(比如int tmp;)来交换a和b值!
a^=b^=a^=b相当于a^=(b^=(a^=b))
第3个回答  2011-12-16
撇开语法错误。
单从这个运算表达式来说。
是连续的赋值运算。赋值语句是自由向左运算的。
a^=b^=a^=b;
((a^b)^b)^a
异或位运算,如a=3,b=2
a 11
b 10
a^b 01
((a^b)^b)^a 结果为 01^10 11 ^ 11 = 00
貌似有点规律,应该是最终结果都变成零。本回答被提问者采纳

c语言 a^=b^=a^=b是什么意思?
^是按位异或,两者真值相同则假,真值相反则真。例如a^=b是a=a^b,若a,b值均为真或者均为假,则a为假,反之,则为真。a^=b^=a^=b这是赋值的连续运算,从最右边往左算。

c语言a^=b,b^=a,a^=b是什么意思
这是在交换a,b的内容;相当于:c = a;a = b;b = c;但是这种方式是不会引入第三个变量。切^运算最快。常见的不引入第三个变量交换ab的方法还有:a = a + b;b = a - b;a = a - b;

c语言,若有以下代码片段: 求详解。 a ^= b; b ^= a; a ^= b; 什意思
就是交换a和b啊 结果是a=20b=10

a ^= (a ^= b, b ^= a, b)什么意思c语言
回答:撇开语法错误。单从这个运算表达式来说。是连续的赋值运算。赋值语句是自由向左运算的。a^=b^=a^=b;((a^b)^b)^a异或位运算,如a=3,b=2a 11b 10a^b 01((a^b)^b)^a 结果为 01^10 11 ^ 11 = 00貌似有点规律,应该是最终结果都变成零。

c语言a=a^b; b=a^b; a=a^b 是啥意思啊??
位运算是C语言的一大特色,利用异或运算可以实现交换两个数,原理是一个整数与另外一个数进行两次异或运算仍然是其本身,基本原理用式子表达如下:(1) A ^ A = 0;(2) A = A ^B;(3) B = A ^B;(相当于B = A ^ B ^ B ,即 B = A)(4) A= A ^ B;(相当于A = A ^B ^A ,...

在C语言中用a^=b^=a^=b为何能交换两个变量而不借助中间变量?
a^=b^=a^=b; 可以写成 a=a^b; b=b^a;\/\/这句就相当于b=b^a^b就相当于b=a了 a=a^b;\/\/同理...

在C语言中^=是什么意思?
按位异或。逻辑是按位,有1取反,有0保持。例如0xAA ^ 0xF0 1010 1010 1111 0000 0101 1010 结果是0x5A。通过将异或数特定位置1可以实现对数特定位取反操作

a^=b c语言中是什么意思,^=是什么运算符?谢谢赐教
a^=b;等效于a=a^b; \/\/a和b按位异或 a|=b;等效于a=a|b; \/\/按位或 a<<=b;等效于a=a<<b; \/\/a左移b位 a>>=b;等效于a=a>>b; \/\/a右移b位 如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

c语言^=是什么意思
^ 这是C语言中的二进制的 按位异或运算符,运算规则是:当参与运算的两个位相同(‘1’与‘1’或‘0’与‘0’)时结果为‘0’。不同时为‘1’。即相同为0,不同为1。即:0^0=0; 0^1=1; 1^0=1;1^1=0;对于这个 ^=,是这样算的 b^=a 即b=b^a;...

c语言里这个“ ^= ”表示什么意思?
就是 A 和 B 异或后传给A。。 比如 A 为二进制 0101 B为二进制1010, A ^= B 之后, B 还是B, A 为 A^=B的值, 为二进制的1111。。不知道楼主说的0 是从何而来? A 又没有和他自己异或。。。

相似回答