C语言中的位运算
什么是位运算
位运算是在二进制级别上对数据进行的操作,涉及到对数据的单个二进制位进行操作。C语言提供了六个位运算符,可用于执行各种操作。
位运算符
立即学习“C语言免费学习笔记(深入)”;
&:按位与
|:按位或
^:按位异或
~:按位取反
:按位左移
>>:按位右移
按位与(&)
按位与运算符比较两个二进制数字的对应位,如果两个位都为 1,则结果为 1,否则为 0。
按位或(|)
按位或运算符比较两个二进制数字的对应位,如果其中任何一个位为 1,则结果为 1,否则为 0。
按位异或(^)
按位异或运算符比较两个二进制数字的对应位,如果两个位不同(一个为 0,一个为 1),则结果为 1,否则为 0。
按位取反(~)
按位取反运算符将二进制数字中的 0 变成 1,1 变成 0。
按位左移(
按位左移运算符将二进制数字向左移动指定的位数,高位填充 0。
按位右移(>>)
按位右移运算符将二进制数字向右移动指定的位数,符号位保持不变(有符号右移)或用 0 填充(无符号右移)。
位运算的应用
位运算在各种应用中非常有用,包括:
位掩码 提取和设置个别位 执行逻辑运算 优化代码性能