位异或^

来源:互联网 发布:raid数据恢复 编辑:程序博客网 时间:2024/05/02 02:12

#include <stdio.h>

int main()
{
    printf("1^0 = %d/n", 1^0);
    printf("1^1 = %d/n", 1^1);
    printf("0^0 = %d/n", 0^0);
}

---------------------------------
1^0 = 1
1^1 = 0
0^0 = 0


位异或
------------------------------
位异或: 二进制运算符^对两个操作数逐位进行比较,对于每个位,如果操作数中对应位有一个为1(但是不都为1),那么结果为1。


位异或的用法: 转置(toggling)
------------------------------
    转置一个位表示如果该位打开,则关闭该位;如果该位关闭,则打开该位。您可以使用"位异或"运算符来转置一个位。
    其思想是如果b是一个位(1或0),那么如果b为1则1^b为0,如果b为0则1^b为1。而且,无论b的值是0还是1,0^b为b。因此,如果使用^将一个值与掩码组合,那么该值中对应掩

码为1的位被转置,对应掩码位为0的位不改变。

   101   b
   111   MASK
--------------------
   010   b

原创粉丝点击