1.二进制反码或按位取反:~
一元运算符~把1变为0,把0变为1。如下例子所示:
~(10011010) // 表达式
(01100101) // 结果值
2.按位与:&
(10010011) & (00111101) // 表达式
由于两个运算对象中编号为4和0的位都为1,得:
(00010001) // 结果值
3.按位或:|
(10010011) | (00111101) // 表达式
除了编号为6的位,这两个运算对象的其他位至少有一个位为1,得:
(10111111) // 结果值
4.按位异或:^
(10010011) ^ (00111101) // 表达式
编号为0的位都是1,所以结果为0,得:
(10101110) // 结果值
5. 移位运算符
1.左移:<<
(10001010) << 2 // 表达式
(00101000) // 结果值
2.右移:>>
(10001010) >> 2 // 表达式,有符号值
(00100010) // 在某些系统中的结果值
(10001010) >> 2 // 表达式,有符号值
(11100010) // 在另一些系统上的结果值
下面是无符号值的例子:
(10001010) >> 2 // 表达式,无符号值
(00100010) // 所有系统都得到该结果值
每个位向右移动两个位置,空出的位用0填充。