《计算机逻辑基础》作为计算机专业的基础课,学好它也是很有必要的。
从今天开始将进行不定期的总结更新,为大家的学习提供参考。
如果内容有错误或其他问题,欢迎大家提出来,同时也欢迎大家批评指正。
今天要学习的是最基础但又是最核心的部分——数字逻辑基础。这部分内容,看似简单,但是否理解并完全掌握关乎着后续的学习。
现在就开始吧.
总结参考的教材是《数字逻辑电路与系统设计第2版》,蒋立平主编,电子工业出版社
文章目录
1. 数制与数制转换
常见数制
数制 | 计数符号(数码) | 基数 | 权 | 举例 |
---|---|---|---|---|
十进制 | 0,1,2,3,4,5,6,7,8,9 | 10 | 10的整数次幂 | 1234.56=1×103+2×102+3×101+4×100+5×10-1+6×10-2 |
二进制 | 0,1 | 2 | 2的整数次幂 | 1101.101=1×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3 |
八进制 | 0,1,2,3,4,5,6,7 | 8 | 8的整数次幂 | 426.27=4×82+2×81+6×80+2×8-1+7×8-2 |
十六进制 | 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F | 16 | 16的整数次幂 | 3d9.e5=3×162+13×161+9×160+15×16-1+5×16-2 |
注意:
- 权:是一种数制中各位计数符号为1是所代表的数值成为该位的“权”。“权”只有说明在哪一种数制哪一位下才有意义。
数制转换
其他进制转化为十进制
- 按权展开法(最常见最熟悉的方法)
公式: Ni=(a3a2a1a0a-1a-2a-3a-4)i=a3×i3+a2×i2+a1×i1+a0×i0+a-1×i-1+a-2×i-2+a-3×i-3+a-4×i-4
例如:
(1101.101)2=1×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3=(13.625)10
( 426.27)8=4×82+2×81+6×80+2×8-1+7×8-2=(278.3529)10
( 3d9.e5)16=3×162+13×161+9×160+15×16-1+5×16-2=(985.95703125)10 - 整数连乘、小数连除法
公式: Ni=(a3a2a1a0a-1a-2a-3a-4)i =(((a3×i+a2)×i+a1)×i+a0)+(((a-4×i-1+a-3)×i-1+a-2)×i-1+a-1)×i-1
如:(1101.101)2=(((1×2+1)×2+0)×2+1)+((1×2-1+0)×2-1+1)×2-1
十进制转化为其他进制
- 提取基数的幂
N10=a3×i3+a2×i2+a1×i1+a0×i0+a-1×i-1+a-2×i-2+a-3×i-3+a-4×i-4=Ni
(13.625)10=1×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3=(1101.101)2 - 整数连除、小数连乘法
(53)10=(110101)2
(0.6875)10=(0.1011)2
二进制与八进制十六进制的转化
2.几种常见的编码
何为编码:用一组特定的符号表示数字、字母或文字
BCD码(Bianry Coded Decimal Codes)(二-十进制码)
- 有权码:如8421码、5421码、2421码,数字说明了其相应位上的权值。
- 无权码:如余3码、格雷码。余3码=8421码+(3)10=8421码+(0011)2
注意:区别BCD码与十进制转化为二进制
一个二进制数对应着一个十进制数整体,而BCD码是将十进制数的每一位转化为相应的代码
如:(138)10=(10001010)2=(000100111000)8421BCD
格雷码(Gray码)
特点:相邻两个代码之间只有一位不同,其余各位相同。
好处:在传输中引起的误差较小。
所以也叫循环码
假定n位二进制码为Bn…B1B0,n位格雷码为Rn…R1R0, 则两码关系为:
Rn= Bn Ri = Bi+1 ⊕ Bi i≠n
Bn= Rn Bi = Bi+1 ⊕ Ri i≠n
### 奇偶校验码
构成:在原代码的基础上增加一个码位,使代码中含有1的个数为奇数(奇校验)或偶数(偶校验)
字符数字码
常见的是ASCII码(7位码)
3.算数运算
二进制数的表示方法(针对有符号数)
首位为符号位
原码:数值是真值的绝对值,正数符号位为“0”,负数符号位为“1”。
如:(10)10的原码为01010 (-10)10的原码为11010
注意:0的原码有两种,(0)10的原码为00000,(-0)10的原码为10000
反码:正数的反码与原码相同,负数的反码:符号位为1,其余位取反,即0变为1,1变为0
如:(10)10的反码为01010 (-10)10的反码为10101
注意:0的反码有两种,(0)10的反码为00000,(-0)10的反码为11111
补码:正数的补码和原码相同,负数的原码:反码+1
如:(10)10的补码为01010 (-10)10的补码为10110
注意:此时0的补码只有一种:00000
加法运算
在数字系统中,我们用补码进行运算。
减去一个整数=加上一个负数
4.逻辑运算
逻辑基本运算
逻辑代数基本定律和规则
逻辑函数相等
两个逻辑函数相等等价于真值表相同
定律
三条规则
1. 代入规则
对于任何一个含有变量X的逻辑等式中,若用逻辑函数式F代替等式两边的变量X,则新的逻辑等式仍然成立。
所以我们可以得到n变量的德·摩根定理:
2. 反演规则(香农定理)
注意:
①函数变量间运算次序不要改变
②对不属于单个变量的“非”号要保留不变
3. 对偶规则
若两个逻辑函数表达式相等,则他们的对偶式相等。
注意:
①要保持原函数变量间的运算次序
②单变量的对偶式仍是自身
③对于不属于单个变量的“非”号要保留不变
反函数和对偶式的不同点:
对偶式中不用对变量进行取反
常用公式
异或同或
务必注意:这是逻辑运算而非算数运算,在这里面1+1=1
5.逻辑函数的标准形式
运算次序:括号内 非 与 或
一个逻辑函数可以写成多种形式:与或式、或与式、与非与非式、或非或非式、与或非式
这几种形式可以相互转化
6.逻辑函数的化简
与或表达式的化简:
- 公式法
- 卡诺图法
最简与或式:
- 乘积项最少
- 乘积项中所含变量最少
公式法
缺点:很难判断所得结果是否为最简
卡诺图法
每个小方块中对应一个最小项
三变量的卡诺图
四变量的卡诺图
(最常用的就是这两个)
注意:再将逻辑函数转化为卡诺图时,逻辑函数首先要是与或式
在填卡诺图时,逻辑函数中有的项在方格中填1,没有的填0
举一个例子来解释:
如何来合并得到最简式呢:
- 任意两个标1的方格相邻,可以合并为一项,消去一个变量,保留相同的变量。
- 任意四个标1的方格相邻,可以合为一项,消去两个变量,保留相同的变量
①同一行或同一列
②四个顶角的方格
③田字格
④左右上下对称相邻而组成的田字格 - 任意8个标1的方格相邻(相邻的两列或两行),可以合为一项,消去3个变量,保留相同的变量。
化简原则:
形成尽可能少的圈,且圈尽可能的大(这个感觉只可意会,不可言传)
注意:每个圈中包含的小方格数必须为2的整数次幂
卡诺图也可以来求反函数的最简与或式:用相同的方法来合并那些标0的方格
卡诺图还可以进行运算,对应方格进行逻辑运算得到的结果填到新的方格中
举个例子:
含无关项的逻辑函数的化简
- 约束项:由于逻辑变量的约束关系,一些变量的取值不可能出现。最小项为0
- 随意项:在某些变量取值下函数值取0取1都可以
无关项在卡诺图中用×来表示,可当0可当1,视情况而定
举个例子:
逻辑函数化简为其他形式
- 与非与非式:最简与或式进行两次求反
- 与或非式:对卡诺图圈0得到反函数的最简与或式,再对反函数求反
- 或与式:最简与或式,两次求对偶或两次求反
- 或非或非式:最简或与式,两次求反
举些例子:
注意:在变换到其他形式时,有可能不是最简的
希望我们都能够收获到知识。
下次更新内容:逻辑门电路。主要总结TTL门电路与CMOS门电路。
感谢大家看我的文章。
谢谢!