一、左移( << )
形式:a<<b
含义:将a的数值在二进制下向左移动b个位置
示例:5<<2
//原数值
0000 0101
//左移后
0001 0100
二、右移( >> )
形式:a>>b
含义:将a的数值在二进制下向右移动b个位置,左边的用原有标志位补充
示例:5>>2
//原数值
0000 0101
//左移后
0000 0001
三、无符号右移( >>> )
形式:a>>>b
含义:将a的数值在二进制下向右移动b个位置(高位空出的部分总是用0进行补位)
四、位与( & )
形式:a&b
含义:将a和b的数值在二进制下逐位比较,相同取1,不同取0,得到一个新的与原a/b二进制位数相同的数值
五、位或( | )
形式:a|b
含义:将a和b的数值在二进制下逐位比较,全都为0则新数字对应位数取0,否则取1。
六、位异或( ^ )
形式:a^b
含义:将a和b的数值在二进制下逐位比较,相同取0,不同取1,得到一个新的与原a/b二进制位数相同的数值
七、位非( ~ )
形式:~a
含义:将a在二进制下的每个数字取0/1的反值,遇0取1,遇1取0,得到新的数字。