位运算
程序中的所有数在计算机内都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。
见的运算符有与(&)、或(|)、异或(^)、取反(~)、左移(<<)、右移(>>是带符号右移 >>>无符号右移动)
位运算 与(&)
二进制对应位两两进行逻辑AND运算(只有对应的值都是1时结果才为1,否则为0),即0&0=0,0&1=0,1&1=1
位运算|(或)
对二进制对应位两两进行逻辑或运算(其中一个为1则为1) 即 0|0 =0, 0|1=1,1|1 =1
位运算 ^(异或)
二进制对应位两两进行逻辑异或的运算(当对应位的值不同时位0) 0^0=0, 0^1=1,1^1=0
按位取反 ~
二进制的0变成1,1变成0
移位运算符
左移运算 <<: 左移后右边位补0
右移运算 >>: 右移后左边位补0