位运算

2017-09-15  本文已影响26人  张崩崩得了懒癌

(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操作。

上一篇 下一篇

猜你喜欢

热点阅读