C++中的位运算符用于对整数类型数据的二进制位进行操作。以下是C++中常用的位运算符及其运算规则:
按位与(&):对两个数的每个二进制位进行与操作,只有两个操作数对应的位都为1时,结果对应位才为1,否则为0。
按位或(|):对两个数的每个二进制位进行或操作,只要两个操作数对应的位有一个为1时,结果对应位就为1,否则为0。
按位异或(^):对两个数的每个二进制位进行异或操作,两个操作数对应位相同时结果为0,不同则为1。
按位取反(~):对一个数的每个二进制位进行取反操作,即1变为0,0变为1。
左移(<<):将一个数的所有二进制位向左移动指定位数,低位用0填充。
右移(>>):将一个数的所有二进制位向右移动指定位数,高位用符号位填充(对于有符号数,用符号位填充;对于无符号数,用0填充)。
这些位运算符可以用于进行高效的位操作,常用于位掩码、位清零、位设置等操作。