引言
上一节《十六进制与数据宽度》我们提到,计算是有宽度的。
比如:一个二进制数:1111 1111 1111 1111 B
我们用4位,4位书写形式FFFF这样比较简单。
逻辑运算
计算机除了算术运算外,还有逻辑运算,只有二进制才能进行逻辑运算。逻辑运算只有对与错,成与败两个结果(也就是0和1)。
-
或运算:
0+0=0
0+1=1
1+1=1(1+1=2不等于0,就是1)
“+”等价于“或”,计算机中使用“|“符号代替。汇编语言使用”OR“代替与运算。
-
与运算
0×0=0
0×1=0
1×0=0
1×1=1
“*”等价于“与”,计算机中使用“&”符号代替。汇编语言使用”AND“代替与运算。
-
异或运算
0-0=0
1-0=1
0-1=1
1-1=0
“-”等价于“异或”,计算机中使用“^”符号代替。汇编语言使用“XOR”代替。
布尔代数的运算
-
OR运算与等效电路
说明:看图 1-4,这是一个并联电路图,任意一个开关按下时,灯泡都会亮。所以说二进制运算是客观存在的,
是因为太冗长,所以发明了十进制。
-
AND运算与等效电路
说明:看图 1-5,这是一个串联电路图,只有两个开关同时按下时,灯泡才会亮。
-
XOR运算与等效电路
说明:看图 1-6,这是一个交叉电路图,只有两个开关一上一下时,灯泡才会亮。
与运算:比如一个家庭,只有丈夫和妻子都有生育能力,才能有孩子。
异或运算:在法院势均力敌的两方无法分出胜负,只有一方高于另一方,才有胜负。
总结
- 或运算(|):只要有一个是1,就是1,其它为0
- 与运算(&):两个为1才为1,其它为0
- 异或运算(^):相同为0,不相同为1
- 取反(~):1为0,0为1
二进制实现了逻辑运算与算术运算的统一。