在计算机编程中,位运算是对二进制数字的位进行操作的一种技术。常见的位运算包括位与(&)、位或(|)、位异或(^)。
区别
-
位与(&):当两个操作数的对应位都为 1 时,结果的对应位为 1;否则为 0。可以用来清零某些位,或者用来提取某些位的信息。
-
位或(|):当两个操作数的对应位至少有一个为 1 时,结果的对应位为 1;否则为 0。可以用来将某些位设置为1,或者用来将某些位的信息合并。
-
位异或(^):当两个操作数的对应位不相同时,结果的对应位为 1;相同时为 0。可以用来进行信息加密、信息校验等操作。
举例
1010 和 1100
-
位与(&):1010 & 1100 = 1000
-
1 0 1 0
-
1 1 0 0
-
1 0 0 0
-
-
位或(|):1010 | 1100 = 1110
-
1 0 1 0
-
1 1 0 0
-
1 1 1 0
-
-
位异或(^):1010 ^ 1100 = 0110
-
1 0 1 0
-
1 1 0 0
-
0 1 1 0
-