在 C 语言中,按位与运算符 & 执行按位与操作,将两个二进制数字的对应位进行相与运算,仅当两个位都为 1 时结果才为 1,否则为 0。它可以用于:掩码操作(清除不需要的位)、设置位、检查位和组合标志。
C&
C&在C语言中表示按位与操作。按位与操作将两个二进制数字的对应位相与,结果是一个新的二进制数字,其中只有当两个对应位都为1时,结果位才为1,否则为0。
按位与操作的用途
掩码操作:
清除二进制数字中不需要的位。例如,与0x0F进行按位与操作可以保留数字的低4位,而清除高位。
设置位:
将二进制数字中的特定位设置为1。例如,与0x40进行按位与操作可以设置第6位。
检查位:
测试二进制数字中的特定位是否为1。例如,与0x01进行按位与操作可以检查最低位是否为1。
组合标志:
将多个标志组合成一个二进制数字。例如,可以将错误标志、警告标志和调试标志与起来,以创建一个状态标志。
运算符
立即学习
“
C语言免费学习笔记(深入)
”;
C语言中按位与运算符为
。它接受两个整数或字符表达式,并返回一个与操作的结果。
示例
在这里,
和
的按位与结果为0,因为只有当对应位都为1时,结果位才为1。
其他按位运算符
除了按位与之外,C语言还提供了其他按位运算符:
按位或(|)
按位异或(^)
按位取反(~)
左移(<<)
右移(>>)
&int a = 10; // 0b1010
int b = 5; // 0b0101
int c = a & b; // 0b0000ab