位运算详解
一、位运算符及运算规则
位运算直接对二进制数据进行操作,适用于整型数据(如 int、char)。以下是六种基本运算符及其规则:
1. 按位与(&)
- 规则:两位均为1时结果为1,否则为0。
- 示例:
3 & 5 = 1(二进制0011 & 0101 = 0001)。
2. 按位或(|)
- 规则:两位中有一个为1则结果为1。
- 示例:
3 | 5 = 7(二进制0011 | 0101 = 0111)。
3. 按位异或(^)
- 规则:两位不同则为1,相同则为0。
- 示例:
3 ^ 5 = 6(二进制0011 ^ 0101 = 0110)。
4. 按位取反(~)
- 规则:所有位取反(0变1,1变0)。
- 示例:
~5 = -6(二进制0101 → 1010,假设为4位有符号数)。
5. 左移(<<)
- 规则:所有位左移,低位补0,高位丢弃。
- 示例:
5 << 2 = 20(二进制0101 → 10100)。
左移1位,相当于乘2
6. 右移(>>)
- 规则:所有位右移,正数高位补0,负数补1(算术右移)。
- 示例:
-14 >> 2 = -4(二进制11110010 → 11111100)。
右移1位,相当于除2
二、应用场景
1. 标志位操作
- 判断奇偶性:
num & 1(结果为0则偶数,1则奇数)。
三、代码示例
判断奇偶性
if (num & 1) {
// 奇数
}
天助自助者

浙公网安备 33010602011771号