什么是位运算

什么是位运算

  1. 1个字节有8个位,每个位有0、1两个取值。1 B = 8 bits
    6.1.2开灯关灯
    只有1个字节的8个位来控制8盏灯?该位为0代表灯灭,该位为1代表灯亮,如图:
    什么是位运算_第1张图片

1.打印长度
在这里插入图片描述

输出结果:
在这里插入图片描述

6.1.3改变状态及C语言中的位运算符类别
位逻辑运算符:&(位“与”)、^(位“异或”)、|(位“或”)、~(位“取反”)。
移位运算符:<<(左移)、>>(右移)
6.1.4位逻辑运算符
位逻辑运算以位(bit)为单位。
6.1.5位取反操作
位取反的操作符为“~”,0变成1,1变成0,需要注意的是,位取反运算并不改变操作数的值。

  1. 取反示例
    什么是位运算_第2张图片

输出结果:
在这里插入图片描述

6.1.6位与运算
位与运算的操作符为&,1 & 1=1 1 & 0=0 0 & 1=0 0 & 0=0

  1. 位与运算示例
    什么是位运算_第3张图片

输出结果:
在这里插入图片描述

  1. 位与实现按位清零
    什么是位运算_第4张图片

输出结果:
在这里插入图片描述

6.1.7位或运算
位或运算的操作符为|,将对两个操作数的每一位进行或运算,位“或”运算的准则如下:
1 | 1=1 1 | 0=1 0 | 1=1 0 | 0=0
6.1.8异或运算
位异或运算的操作符为^,将对两个操作数的每一位进行异或运算。通俗地讲,如果位“异或”运算的两个位相同(同为0或同为1),结果为0,若两个位不同(一个为0,另一个为1),结果为1,对应的准则为:
1 ^ 1=0 1 ^ 0=1 0 ^ 1=1 0 ^ 0=0

  1. 异或运算示例
    什么是位运算_第5张图片

输出结果:
在这里插入图片描述

  1. 异或实现反转
    什么是位运算_第6张图片

输出结果:
在这里插入图片描述

  1. 异或交换两个变量,不借助中间变量
    什么是位运算_第7张图片
    什么是位运算_第8张图片

输出结果:改变上面代码ch1和ch2的值分别为120和110后的结果
在这里插入图片描述

  1. 位运算总结
    什么是位运算_第9张图片
    输出结果:
    在这里插入图片描述

总结注释:
什么是位运算_第10张图片
什么是位运算_第11张图片

你可能感兴趣的:(什么是位运算)