二进制位运算(与、或、异或、取反)
2014-10-13 09:25
267 查看
1.与运算(AND):0 AND 0 = 0 (全1才1)
1
AND 0 = 0
0
AND 1 = 0
1
AND 1 = 1
用途:用来位置0,若想把FFH(11111111B,255D)第三、五(从右往左)位置0,只需 AND 11101011B(235D,E8H).
2.或运算(OR):
0 OR 0 = 0 (全0才0)
1
OR 0 = 1
0
OR 1 = 1
1
OR 1 = 1
用途:用来位置1,若想把9EH(10011110B,158D)第二、三、四(从右往左)位置1,只需
OR 00001110B(14D,EH).
3.取反运算(NOT): NOT 1 = 0
NOT
0 = 1
用途:用来整体取反,不能位取反。
4. 异或运算(XOR): 0 XOR 0 = 0 (不同为1,相同为0)
1 XOR 0 = 1
0 XOR 1 = 1
1 XOR 1 = 0
用途:用来位取反,若想把9EH(10011110B,158D)第二、三、四(从右往左)位取反,只需
XOR 00001110B(14D,EH).
附:异或的特殊性:
若 A XOR B = C,则 A XOR C = B,B XOR C = A.
扩展成 A XOR B XOR C = D,结论同样成立
1
AND 0 = 0
0
AND 1 = 0
1
AND 1 = 1
用途:用来位置0,若想把FFH(11111111B,255D)第三、五(从右往左)位置0,只需 AND 11101011B(235D,E8H).
2.或运算(OR):
0 OR 0 = 0 (全0才0)
1
OR 0 = 1
0
OR 1 = 1
1
OR 1 = 1
用途:用来位置1,若想把9EH(10011110B,158D)第二、三、四(从右往左)位置1,只需
OR 00001110B(14D,EH).
3.取反运算(NOT): NOT 1 = 0
NOT
0 = 1
用途:用来整体取反,不能位取反。
4. 异或运算(XOR): 0 XOR 0 = 0 (不同为1,相同为0)
1 XOR 0 = 1
0 XOR 1 = 1
1 XOR 1 = 0
用途:用来位取反,若想把9EH(10011110B,158D)第二、三、四(从右往左)位取反,只需
XOR 00001110B(14D,EH).
附:异或的特殊性:
若 A XOR B = C,则 A XOR C = B,B XOR C = A.
扩展成 A XOR B XOR C = D,结论同样成立
相关文章推荐
- 二进制位运算(与、或、异或、取反)
- 按位与(&)按位或(|)按位异或(^)按位取反(~)左移(<<)右移(>>)
- C语言位运算符:与、或、异或、取反、左移和右移
- 位运算小结(按位与、按位或、按位异或、取反、左移、右移)
- 与、或、异或、取反、左移和右移
- 异或,取反,与
- awk:左移、右移、按位取反、按位与、按位或、按位异或、数值IP转字符串IP
- HDU 3911 线段树区间合并、异或取反操作
- C语言位运算符及作用:与、或、异或、取反、左移和右移
- PHP中关于位运算符 与 或 异或 取反
- 位运算小结(按位与、按位或、按位异或、取反、左移、右移)
- 按位与、或、异或、取反运算
- 关于C语言中的按位与(&)按位或(|)按位异或(^)取反(~)左移(<<)右移(>>)
- 位运算符(按位与&、按位或|、按位异或^、按位取反~)在程序的多个判定中起的作用
- 按位与(&)按位或(|)按位异或(^)按位取反(~)左移(<<)右移(>>)
- C语言位运算符:与、或、异或、取反、左移和右移
- C语言位运算符:与、或、异或、取反、左移和右移
- 按位与、按位异或、按位取反
- 内存中原码,反码,补码,查看数值范围,&,或,异或,取反,左右移位操作
- C语言位运算符:与、或、异或、取反、左移和右移