一、什么是位运算
位运算是对操作数以二进制为单位进行的操作和运算,运算结果为整数。计算机内部是用补码表示数,位运算是对数的补码进行运算,正数的补码等于原码,负数的补码等于其相反数的原码取反加1。
二、位运算符
1.&(按位与)
参与运算的数字,低位对齐,高位不足的补零,如果对应的二进制位同时为1,那么计算结果才为1,否则为0。因此,任何数与0按位与运算,其结果都为0。
2.|(按位或)
参与运算的数字,低位对齐,高位不足的补零。只要对应的二进制位有一个为1,那么结果就为1,否则为0。
3.^(按位异或)
参与运算的数字,低位对齐,高位不足补零,如果对应的二进制位相同,结果为0,否则结果为1。
4.~(按位取反)
只对一个操作数进行运算,将操作数二进制中的1改为0,0改为1.
因为在计算机中使用补码表示,最高位为1表示负数。补码求原码的方法是最高位符号不变,其余各位求反,再加1。
5.<<(左移位)
按二进制形式把所有的数字向左移动对应的位数,符号不变,高位移除(舍弃),低位补零。
6,>>(右移位)
按二进制形式把所有的数向右移动对应的位数,低位移出(舍弃),正数的高位的空位补0,负数的高位的空位补1.
7.>>>(无符号右移)
按二进制形式把所有的数字向右移动相对应的位数,低位移出(舍弃),高位的空位补零(无论正数负数都补零)。
来源:CSDN
作者:久伴丶.丶
链接:https://blog.csdn.net/weixin_45723003/article/details/104533858