C中的位级运算

来源:互联网 发布:中国国籍知乎 编辑:程序博客网 时间:2024/06/02 05:44

C语言支持按位布尔运算,包括:

  • & 与 (AND),
  • | 或 (OR),
  • ~ 取反 (NOT),
  • ^ 异或 (EXCLUSIVE-OR)。

有以下常用结论:

  • 对于任意向量a,有a ^ a = 0.
  • 异或(^) 是可交换的和可结合的。a ^ (a ^ b) = (a ^ b) ^ b = b; b ^ (a ^ b) = (b ^ b) ^ a = a.
  • 0 ^ A = A (0 异或任何数 A 结果还是 A).

位级运算常见用法:实现掩码运算
这里掩码指位模式,表示从一个字中选出的位的集合。比如掩码 0xFF(最低的8位为1)表示一个字的低位字节。x = 0x89ABCDEF, 那么 x & 0xFF = 0x000000EF,生成由x的最低有效字节组成的值。

原创粉丝点击