位运算符定义

  • & 位逻辑与: 对应的两个二进位均为1时, 结果位才为1 ,否则为0
// ask: 9&5
00001001& (9的二进制补码)
00000101 (5的二进制补码) 
// result
00000001 (1的二进制补码)可见9&5=1
  • | 位逻辑或: 对应的二个二进位有一个为1时,结果位就为1
// ask: 9|5
00001001|
00000101
// result
00001101 (十进制为13)可见9|5=13
  • ^ 位逻辑异或: 当两对应的二进位相异时,结果为1
// ask: 9^5
00001001^
00000101
// result
00001100 (十进制为12)
  • ~位逻辑反: 各二进位按位求反
// ask: ~9
~(0000000000001001)
// result
1111111111110110
  • >> 右移: 把“» ”左边的运算数的各二进位全部右移若干位
a=15,a>>2
000001111右移为00000011(十进制3)
  • << 左移: 把“» ”左边的运算数的各二进位全部左移若干位
a=3, a<<4
00000011左移为00110000(十进制48)

进制