移位操作符

<<和>>都是移位操作符用于位操作,须知这俩操作符都是二元操作符,右边的是移动的位数,对于左移而言,它移了几位就相当于乘了2的几次方。但是对于右移而言补位是0的话,就相当于乘了2的负几次方。

移位操作符_第1张图片

C++位操作
&是按位与, 是按位异或,所以15&4相当于1111&0100=0100=4,154=1111^0100=1011=11,所以由此可见4所在的位置虽然是个整形,但是它实际上代表的是二进制数的1的位置,比如说4代表2的2次方,即第2+1个位置。而位运算符左边的是正常的整数。当然其实这两边都可以转换成普通的二进制数字然后逐位进行位运算。
在本书中P1240内容讲的是位运算的技巧。

你可能感兴趣的:(移位操作符)