位运算详解

一、位运算符及运算规则

位运算直接对二进制数据进行操作,适用于整型数据(如 intchar)。以下是六种基本运算符及其规则:

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) {
    // 奇数
}
posted @ 2025-04-25 20:18  似鬼年华  阅读(78)  评论(0)    收藏  举报