一.按位与运算符
- 参加运算的两个数据,按二进制位进行位与运算.
例如:3&5
同为1结果为1,其它情况结果为0;
即:11&101=001结果为1
特别提醒:负数按补码形式参加按位与运算。
- 位与运算的特殊用途:
1.清零(将一个单元与0进行位与运算结果为零)
取一个数中指定位(例如取X=1010 1101的低四位 则将X&00001111得到0000 1101)。
3.判断奇偶性:任意数与1取位与,结果为1则是奇数
二.按位或运算符
- 参加运算的两个数据,按二进制位进行位或运算
例如:3 | 5
先将两个数据转化为二进制数,然后进行按位或运算,只要有一个是1结果为1,不然结果为0;
即:11&101=111结果为7
特别提醒:负数按补码形式参加按位或运算。
- 位或运算的特殊用途:
常用来对数据的某些位置1(例如将X=1010 1010的第四位置1,则将X |0000 1111得到1010 1111)。
三.按位异或运算符
- 参加运算的两个数据,按二进制位进行位异或运算
例如:3^5
先将两个数据转化为二进制数,然后进行按位异或运算,只要位不同结果为1,不然结果为0;
即:11^101=110结果为6 - 异或运算的特殊用途:
1.使特定位翻转找一个数,对应X要翻转的各位,该数的对应位为1,其余位为零,此数与X对应位异或即可。
例:X=10101110,使X低4位翻转,用X ^0000 1111 = 1010 0001即可得到。
2.与0异或得到原值
例:X=10101110,用X^0=10101110