位与运算: “&”是双目运算符 其功能是参与运算的两个数字对应的二进制位相与 ,只有对应的两个二进制均为1时 结果位才为1 ,否则为0 ,参与运算的数以补码方式出现
例如 9 & 5 0000 1001 & 0000 0101 结果为 0000 0001
应用: (1)清0特定位 (2)某数中指定位
位或运算:"|" 双目运算符 其功能是参与运算的两个数字对应的二进制位或 ,只要对应的两个二进制一个为1时 结果位就为1,参与运算的数以补码方式出现
例如 9 | 5 0000 1001 | 0000 0101 结果为 0000 1101
应用: 常用来将源操作数某些位置 1 其他位不变
位异或运算:“^” 是双目运算符 其功能是参与运算的两个数字对应的二进制位相异或,当两对应的二进位相异时 结果为1.参与运算的数仍以补码方式出现
例如 9^5 0000 1001 ^ 0000 0101 结果为 0000 1100
应用: (1)令特定值取反 (2) 不引入第三变量 交换两个变量的
假设 a=a1 ,b=b1 (1) a=a^b a=a1^b1,b=b1
(2)b=a^b a=a1^b1,b=a1
(3)a=a^b a=b1,b=a1
如果我们将其中的 ^ 换做是 - 或者/ 同样可以 不过我们要记住位运算效率最高