按位与 &
各个位&&,全1为1,结果转十进制
求6 & 8的值
0000 0110
0000 1000
————————————
0000 0000
结果:0
按位或 |
各个位||,有1为1,结果转十进制
求1 | 2的值
0000 0001
0000 0010
————————————
0000 0011
结果:3
按位异或 ^
各个位01不等时为1,结果转十进制
求3 ^ 6的值
0000 0011
0000 0110
————————————
0000 0101
结果:5
按位取反 ~
- 带符号全取反
- 去符号取反+1
- 保留符号,剩余部分转十进制
- 正数取反步骤:
1 2 3 - 负数取反步骤:
2 1 3 ( 🚨注意顺序 )
正数取反示例
求 ~1 的值
值: 1 0000 0001
经过步骤1 1111 1110 // 带符号全取反
经过步骤2 _000 0001 // 去符号取反
加1: _000 0010 // +1
经过步骤3 1000 0010 // 保留符号,剩余部分转十进制
结果:-2
负数取反示例
求 ~-2 的值
值: -2 1000 0010
经过步骤2 _111 1101 // 去符号取反
加1: _111 1110 // +1
经过步骤1 0000 0001 // 带符号全取反
经过步骤3 0000 0001 // 保留符号,剩余部分转十进制
结果:1