C语言异或预算符
发布网友
发布时间:2024-10-24 11:31
我来回答
共2个回答
热心网友
时间:2024-10-27 18:31
异或运算符运算法则是:对应位相同时为0,相异时为1.例如:1^1=0,1^0=1.
求异或时要先把相应的10进制数转换为二进制数,再求。其他逻辑运算符一样。
1的二进制为1,2的二进制位10,所以b^a为:
10
^01
-----
11
得到此处a=3,下一步b^a中的a即为3(下面类似)
a^b:
11
^10
-----
01
得到b=1
a^b:
11
^01
-----
10
得a=2
如此就实现了交换a,b值的目的。
热心网友
时间:2024-10-27 18:27
(1)a=b^a;
(2)b=a^b;
(3)a=a^b;
把(1)代入(2),即 b = b^a^b = b^b^a = 0^a = a ----(4)
把(1)和(4)代入(3)的右边,即 a = b^a^a = b^(a^a) = b^0 =b (此b非(4)的b,是原来的b)