7.5 位运算
7.5.1 位运算
含义 | Java实例 | |
---|---|---|
按位与 | a&b | |
按位或 | a | b |
按位异或 | a^b | |
按位取反 | ~a | |
左移 | a«b | |
带符号右移 | a»b | |
无符号右移 | a»>b |
- 按位与: 5 & 3, 即0000 0000 0000 0000 0000 0000 0000 0101 & 0000 0000 0000 0000 0000 0000 0000 0011, 结果为0000 0000 0000 0000 0000 0000 0000 0001, 同为1则结果为1, 否则为0
-
按位或: 5 3, 0000 0000 0000 0000 0000 0000 0000 0101 0000 0000 0000 0000 0000 0000 0000 0011, 结果为0000 0000 0000 0000 0000 0000 0000 0111, 只要有1, 则结果为1 - 位异或: 5 ^ 3, 0000 0000 0000 0000 0000 0000 0000 0101 ^ 0000 0000 0000 0000 0000 0000 0000 0011, 结果为0000 0000 0000 0000 0000 0000 0000 0110, 相反则结果为1, 否则为0
- 按位取反: ~5, 0000 0000 0000 0000 0000 0000 0000 0101, 结果为1111 1111 1111 1111 1111 1111 1111 1010, 把1变成0, 0变成1
- 左移: 5 « 3, 0000 0000 0000 0000 0000 0000 0000 0101, 结果为0000 0000 0000 0000 0000 0000 0010 1000
- 带符号右移:: 5 » 3, 0000 0000 0000 0000 0000 0000 0000 0101, 结果为, 0000 0000 0000 0000 0000 0000 0000 0000