《深入理解计算机网络》第1章数制与编码,本章可作为选学内容,所介绍的知识仅是为了帮助大家理解本书以后章节中涉及的二进制、八进制、十六进制的内容,特别是各种信息编码、IP地址格式转换、MAC地址格式转换等内容。本节为大家介绍二进制逻辑运算。作者:王达来源:机械工业出版社|
1.3.2 二进制逻辑运算逻辑运算是指对因果关系进行分析的一种运算,这也是在计算机中经常采用的一种二进制运算。逻辑运算的结果并不表示数值大小,而是表示一种逻辑概念,若成立则为“真”,或用“1”表示;若不成立,则为“假”,或用“0”表示。二进制的逻辑运算主要有“与”、“或”、“非”和“异或”四种。
1. “与”运算(AND)
“与”运算又称逻辑乘,用符号“.”或“∧”来表示。运算法则如下:
0∧0 = 0 0∧1 = 0 1∧0 = 0 1∧1 = 1
归纳起来也就是在“与”运算中,只要两个参加“与”运算的数的对应位有一个为0,运算结果就为0;仅当两数的对应位均为1时结果才为1,很容易判断。这与前面介绍的二进制乘法运算是一样的。图1-15所示是两个“与”的逻辑运算示例。图1-15a所示的是两个位数不一样的二进制数进行“与”运算,这时要求两个数从***位开始对齐,在位数少的二进制的***位前面加上“0”补齐,使得它与位数多的二进制数有一样的位数。
2. “或”运算(OR)
“或”运算又称逻辑加,用符号“+”或“∨”表示。运算法则如下:
0∨0 = 0 0∨1 = 1 1∨0 = 1 1∨1 = 1
也就是说,在“或”运算中,只要两个参加“或”运算数的对应位中有一个为1,运算结果就为1,仅当两数的对应位均为0时结果才为0,也很容易判断。如图1-16所示是两个“或”的逻辑运算示例。同样,进行“或”运算时要求两数从***位开始对齐,位数少的数在***位前面加“0”补齐,最终使两个二进制数的位数相同。
3. “非”运算(NOT)
“非”运算就是逐位求反的运算,其运算法则为:“0”的反值为“1”,“1”的反值为“0”,也就是“0”与“1”互为反。注意:“非运算”只是针对一个二进制数进行的,这与前面的“与”和“或”运算不一样。如“101110101”进行“非”运算后就得到“010001010”(可简写为“10001010”)。
4. “异或”运