(1) 按位与 & : 二进制取位操作。 例如一个数 & 1的结果就是取二进制最末位,这可以用来判断一个数的奇偶性。如果二进制最后一位是0, 则表示偶数,1表示奇数. (规则:相同位,都为1,则1,有一个为0,则为0)
eg:00101
11100
= 00100
(2)按位或 | : 二进制取位操作。 例如一个数 | 1 的结果就是强行把二进制末位变成1 . 其实际意义是 求一个数最近的奇数, | 1后在减1,即可得到。:(规则:相同位,有1则1,无1则0)
(3)按位异或 ^ : 例如,一个数先^12345加密,在^12345解密(规则:相同位,不同则为1,相同则为0)
eg: 00101
10101
= 10000
(4)<< 左移操作:a<<b代表把a转换成二进制数以后,左移b位(后面增加b个0).例如100的二进制1100100,<<2后是110010000转换成十进制是400。那么100<<2就是400.实际等于a* 2^b(a乘2的b次方)。
通常认为a<<1比a*2更快
(5)>>右移操作:a>>b 代表把a右移b位(去掉末b尾),相当于a/2^b (取整)用来代替/2操作。