1.按位取反运算(~)
运算符(~)是位运算中唯一的单目运算符,运算对象应置于运算符的右边,其运算功能是把运算对象的内容按位取反。按位取反运算符的优先级别比算术运算符、关系运算符、逻辑运算符和其他位运算符都高。
按位取反运算规则:对一个二进制数按位取反,即将0变为1,1变为0。例如,~025是对八进制数25(即二进制数00010101)按位求反。
即八进制数177752。因此,~025的值为八进制数177752。
2.左移运算(<<)
左移运算符是双目运算符。运算符左边是移位对象,右边是整型表达式,代表左移的位数。
左移运算规则:将一个操作数先转换成二进制数,然后将二进制数各位左移若干位,并在低位补若干个0,高位左移后溢出,舍弃。
例如:
用二进制数来表示运算过程如下:
左移1位相当于该数乘以2,左移2位相当于该数乘以22=4。
3.右移运算(>>)
右移运算符的使用方法与左移运算符一样,所不同的是移位方向相反。
右移运算规则是:将一个操作数先转换成二进制数,然后将二进制数各位右移若干位,移出的低位舍弃;并在高位补位。(www.xing528.com)
例如:
4.按位与运算(&)
运算符与运算规则:把参与运算的两个运算数按对应的二进制位分别进行“与”运算,当两个相应的位都为1时,该位的结果为1;否则为0。
例如,表达式12&10的运算如下:
5.按位异或运算(^)
按位异或运算规则:参与运算的两个运算数中相对应的二进制位上,若数相同,则该位的结果为0;若数不同,则该位的结果为1。
例如:
6.按位或运算(|)
按位或运算规则:参加运算的两个运算数中,只要两个相应的二进制位中有一个为1,该位的运算结果即为1;只有当两个相应位的数都为0时,该位的运算结果才为0。
例如,求八进制数60与八进制数17进行按位或运算后的值。
7.位数不同的运算数之间的运算规则
系统将自动进行处理,先将两个运算数右端对齐,再将位数短的一个运算数往高位扩充,即:无符号数和正整数左侧用0补全,负数左侧用1补全,然后对位数相等的这两个运算数按位进行位运算。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。