4.1 逻辑运算
逻辑运算是指应用在一个二进制位,或者两个位模式上的基本运算。
逻辑运算是计算机的基本运算。
4.1.1 位层次上的逻辑运算
通常以二进制位上的0代表逻辑值“假”,1代表逻辑值“真”
常用的逻辑运算包括:
- 非(NOT)
- 与(AND)
- 或(OR)
- 异或(XOR)
真值表:逻辑运算对于每一种输入组合的输出值。
非(NOT)
NOT运算符是一元操作符:只有一个输入。
输出位是输入位的相反。
如果输入=0,输出=1
如果输入=1,输出=0

与(AND)
AND运算符是二元运算符,有两个输入。
如果输入都是1,则输出为1
其它三种情况下,输出为0
如果有一个输入为0,则结果必然是0

或(OR)
OR运算符是二元运算符,有两个输入。
如果输入都是0,则输出为0
其它三种情况下,输出为1
如果有一个输入为1,则结果必然是1

异或(XOR)
XOR运算符是二元运算符,有两个输入。
输入相同时,输出为0
输入不相同时,输出为1
如果输入为1,结果就与另一个输入相反

4.1.2 模式层次上的逻辑运算
模式层次上的逻辑运算:
NOT运算就是把NOT应用于模式中的每一个位。
其它运算符就是把两个模式中对应的位进行运算。

模式上的AND运算举例
计算 10011000 AND 00101010
1001 1000 输入1
AND 0010 1010 输入2
0000 1000 输出
10011000 AND 00101010 = 0000 1000
4.1.3 逻辑运算的应用
- 求反
方法:NOT运算
NOT 1001 1000 输入
0110 0111 输出
方法:用全1进行XOR
1001 1000 输入1
XOR 1111 1111 输入2
0110 0111 输出
- 使指定的位复位(置0,清0)
方法:指定位为0,进行AND运算,通常这种情况称为掩码
1010 0110 输入
AND 0000 0111 掩码
0000 0110 输出
- 使指定的位置位(置1)
方法:指定位为1,进行OR运算,通常这种情况称为掩码
1010 0110 输入
OR 1111 1000 掩码
1111 1110 输出
- 使指定的位反转
方法:指定位为1,进行XOR运算,通常这种情况称为掩码
1010 0110 输入
XOR 1111 1000 掩码
0101 1110 输出
4.1.4 逻辑运算应用总结
NOT:全模式反转
AND:0:清0;1:不变
OR:0:不变;1:置1
XOR:0:不变;1:反转
真值表:
