C语言 按位两次异或是什么意思

2025-04-14 21:59:19
推荐回答(1个)
回答1:

按位两次异或是“a^=b;b^=a;”这样吗,如果是的话,那么

对无符号整数而言等价于如下语句:

temp=a; a^=b; b=temp; 

相当于a与b异或了一次,值存在a,而旧的a值又赋给了b

如果是“a^=b;b^=a;a^=b;”

其实就是交换两个变量的值

等价于

temp=a;a=b;b=temp;

意义在于,少用一个变量,节省空间

//PS: 按位计算对于计算机语言而言大同小异,我偷了个懒用了javascript来写