数字电路与系统
Digital Circuit And System
绪论 (Preface)
一、数字电子技术的发展与应用
1.电子管时代
※ 1906年电子管诞生;
※ 1946年出现第一台电子数字计算机;
世界上第一台电子数字计算机,ENIAC‖
( Electronic Numerical Integrator And Calculator)
于 1946年诞生于美国 宾夕法尼亚 大学,共用了
18,000多只电子管,1500多个继电器,重量达 30余吨,占用了 170平方米的房间,耗电达 140千瓦以上,
其运算速度仅为 5000次 /秒加减法运算,现具有同样功能的电子计算机,体积只有 BP机 那么大(而
Pentium Ⅲ 的运算能力可达每秒钟上亿次)。
2.晶体管时代
※ 1947年晶体管诞生;
美国贝尔实验室:肖克利、巴丁、布拉顿。
※ 1956年晶体管的发明者门获得诺贝尔物理学奖;
3.集成电路时代集成电路,20世纪 60年代发展起来的一种新型器件,把众多 晶体管,电阻,电容 及 连线 制作在一块半导体芯片(如:硅片)上,做成具有特定功能的独立电子线路。外型一般用金属圆壳或 双列直插 结构。集成电路具有性能好,可靠性高,体积小,耗电少,成本低等优点。
集成度,每片集成电路中的门电路或等效门电路的数量。
SSI,1~ 10门; MSI,10~ 100门;
LSI,1~ 1万门; VLSI,1~ 10万门以上;
4.大规模集成电路( LSI)和超大规模集成电路
(VLSI)时代
※ 1971年 4位 CPU(4004)出现,含 2300个晶体管;
※ 1997年 Pentium Ⅱ CPU 出现,含 750万个晶体管;
※ 0.35μm 0.25μm 0.18μm 0.13μm
Pentium 4 2GHz
二、数字电子技术的优点
1.通信系统中:抗干扰能力强 ;保密性好。
信号用脉冲的有无或种类的不同、电平的高低来表示,与幅值无关; 判决门限电平对数字信号进行抗干扰编码(即差错纠正编码)。
2.测量仪表中:测量精度高,测试功能强,
自动化、智能化程度高。
如数字示波器、数字频率计。
三、模拟信号和数字信号
1.模拟信号:幅值连续、时间连续。
2.数字信号:幅值离散、时间连续。
D
t0
0 1 1 0 0
0 1 0 1 0 1 0
1
u t
四、二进制代码,1”和,0”的波形表示
2.脉冲型
1.电位型代码 1 1 0 1 0 0 0
冒险的消除、顺序脉冲发生器中出现。
以太网中使用的是:曼彻斯特码( Manchester)
代码 1 1 0 1 0 0 0
一拍五、本课程的研究内容
1.逻辑代数的基本理论;
2.常用数字集成电路的结构、工作原理,逻辑功能和使用方法 ;
3.数字电路的分析、设计方法;
4,VHDL语言简介;
5.数字系统设计初步。
数字系统,用离散的数字方式表征与处理信息的系统,是一个相互连接的功能模块的集合。
3.独立、按时完成作业,主动质疑;
六、学习方法
2.端正学习态度,培养自信心和兴趣;
4.课前预习、独立思考,提高自学能力;
5.课后多查阅参考书。
1.对于集成电路,重点放在 逻辑功能和使用方法 ;
七、参考教材:
1.脉冲与数字电路 高教出版社 王毓银编
2.数字电子技术基础 高教出版社 阎石主编
3.数字电路与系统 清华大学出版社 刘宝琴第一章 数制与码制一?十进制( Decimal)
用来表征 数值信息 。 在数字电路中,经常会遇到计数问题。数制是以数码的个数(称为基数,用 R表示)
来命名的。人们习惯用十进制数,而在数字系统中则采用二进制?八进制?十六进制数。
构成,由 0 ~ 9 十个数码;
逢十进一,借一当十,
基数 R=10。
1.1 数制 (计数体制)
例 1,( 555) 10 = 5× 102 + 5× 101 + 5× 100
例 2:( 146.5)10 = 1× 102 + 4× 101+ 6× 100+ 5× 10–1
对于任一个十进制数 N,按位权可表示为,
(N)10 = an-1× 10n-1+an-2× 10n-2+ ·· +a1× 101+a0× 100
+a-1× 10-1+ a-2× 10-2+ ·· + a-m× 10-m
ai× 10i
式中,ai取值为,0 ~ 9 中的任一个数码 ;
10i是第 I位的权,10是基数。
n和 m是正整数,n为整数部分,m为小数部分。
讨论,从计数电路考虑,采用十进制数是难于实现的。
因为十进制数有十个数码( 0 ~9)。要用十个不同的而且能严格区分的电路状态与之对应,这将是很困难的。
结论,计数电路一般不直接采用十进制数,而采用二进制数。
原因,
( 1)运算规则简单 (只有 8条规则)
加法,0+0=0; 0+1=1; 1+0=1; 1+1=10。
乘法,0× 0=0; 0× 1=0; 1× 0=0; 1× 1=1。
( 2)电路简单?工作可靠它的每一位数码都可以用任何具有两个不同稳定状态的元件来表示。
例如,D的导通与截止;
继电器触点的闭合和断开;
灯泡的亮和灭等。
都可构成两个不同的稳定状态。
T的饱和与截止;
二? 二进制( Binary)
构成,用二个数码 1 和 0 ;
且逢二进一,借一当二。
R = 2。
( N) 2 Di× 2i
Di取值为 1 或 0,基数为 2。
例,( 101.01) =1× 22+ 1× 20 +1× 2-2
Di× 2i
三?八进制 (Octal)
构成,用 0 ~ 7 八个数码 ;
且逢八进一,借一当八。
R = 8 。
Oi取值为,0 ~ 7 中的任一个数,R = 8 。
例,( 25.6)8= 2× 81+ 5× 80+ 6× 8-1
Oi× 8i
( N) 8 Oi× 8i
四?十六进制 (Hexadecimal)
构成,用 0 ~ 9,A,B,C,D,E,F等十六个数码 ;
且逢十六进一,借一当十六。 R = 16。
( N) 16 = ( N) H Hi× 16i
举例,( 4A.E)16= 4× 161+ 10× 160+ 14× 16-1
Hi× 16i
五?数制转换
1?二?八?十六 进制 → 十进制所谓数制转换是指将一种数制的数变换成等值的用另一种数制表示的数。
将二?八?十六 进制数转换成十进制数,只要把原数写成按权展开再相加即可。
例:分别将( 101.01)2? (74.5)8? (3C.A)16转换成十进制数。
( 101.01)2=
(74.5)8=
(3C.A)16=
1× 22 +1× 20 +1× 2–2=(5.25)10
7× 81+4× 80+5× 8-1=(60.625)10
3× 161+ 12× 160 +10× 16-1=(60.625)10
2?十 进制 → 二? 八? 十六进制
(1)?整数的转换十 进制 → 二? 八? 十六进制数只需将 整数部分和 小数部分 分别转换成二? 八?十六进制数,再将转换结果连接在一起即可。
整数,小数方法,除基数取余法
←,→
例:将( 60) 10分别转换成二?八? 十六进制数。
所以,( 60) 10 = ( 111100) 2
2 60
30 02
15 02
7 12
3 12
1 12
0 1 高低余数
( 60) 10 = (?) 8
( 60) 10 = ( 74 ) 8
( 60) 10 = (?) 16
( 60) 10 = ( 3C ) 16
( 2)小数的转换方法,乘基数取整法。
例,将十进制数 (0.625)10分别转换成二?八?十六进制数。
( 0.625)10=(? )2 ( 0.625)10=(? )8 ( 0.625)10=(? )16
∴ (60.625)10=(111100.101)2=(74.5)8=(3C.A)16
( 0.625)10=( 0.101)2 ( 0.625)10=( 0.5 )8 ( 0.625)10=( 0.A )16
3?转换误差对于小数采用的乘基数取整法将十 → 二?八?十六进制数的小数时,可能会出现多次相乘后乘积的小数部分仍不为 0的情况。
小数的精度及转换位数的确定:
① n位 R进制小数的精度例 1,(0.12)10 的精度为 10-2
例 2,(0.101)2 的精度为 2-3
如果转换取了 n位,则转换的剩余误差?小于该
n位小数的精度,即,? < R-n 。
此时,? < 2-i<0.1%,? < 2-i< 1/1000
取 i≥ 10,∵ 2-10 = 1/210 =1/1024 < 1/1000
∴ i 的取值为,i ≥ 10 (取 10 位 )
② 转换位数的确定例 3,(0.39)10 = (? )2,要求精度达到 0.1%。
解:设二进制数小数点后有 n位小数,
解得 n ≥ 10。
所以 (0.39)10 = (0.0110001111)2 。
4?数的进制表示方法
5?二 → 八十 → 10 或 D ; 八 → 8 或 O ;
二 → 2 或 B ; 十六 → 16 或 H 。
转换方法,二进制数由小数点开始分别向左和向右每三位分成一组,每组便是一位八进制数,这样的表示法叫二 — 八进制。( ∵ 八进制数对应三位二进制数,
即,000 ~ 111。) ←,→
例 1,( 111 100,101 )2 =
例 2,( 010 011 101,010 )2 =
(74.5)8
( 235,2 )8
6?二 进制 → 十六进制
7? 八进制 → 二进制转换方法,先将八进制 → 二 — 八进制,
再把二 — 八进制 → 二进制。
例,(0011 1100,1010 )2 =
转换方法,二进制数由小数点开始分别向左和向右每 4
位分成一组,每组便是一个十六进制数,这样的表示法叫做二 — 十六进制。
例,( 345.1)8=(? )2
1) 二 — 八进制,(011 100 101.001);
2) 二进制,(11100101.001)2
(3C.A )16
8?十六 进制 → 二进制转换方法,先将十六进制 → 二 — 十六进制,
再把二 — 十六进制 → 二进制。
9?非十进制之间的互换例,( AF.26)16 =(? )2
1) 二 — 十六进制,(1010 1111,0010 0110)
2) 二 进制,(10101111.0010011)2
不同数制转换时,可采用的 转换方法,
1)先转换成十进制数 ;
2)然后再将十进制数转换成新数制的数。
例,( 4321) 5=(? ) 2
解,1)先求出( 4321) 5= (?) 10
( 4321) 5=4× 53+ 3× 52+ 2× 51+ 1× 50
= ( 586) 10
2)( 586) 10=(?) 2
∴ ( 4321) 5 =( 586) 10
=( 1001001010) 2
1.2 码制 (编码的制式)
用来表征 非数值信息 。
不同的数码不仅可以表示数量的不同大小,而且还能用来表示不同的事物。而用来表示不同的事物的这些数码已没有表示数量大小的含意,只是表示不同事物的代码而已。
这些数码称为 代码 。
编码,人为规定的码制。
例如,在举行长跑比赛时,为便于识别运动员,通常给每个运动员编一个号码。显然,
这些号码仅仅表示不同的运动员,已失去了数量大小的含意。
为便于记忆和处理,在编制代码时总要遵循一定的规则,而这些规则就叫做 码制 。
例如,在用四位二进制数码表示一位十进制数的 0 ~ 9这十个状态时,就有不同的码制。
一?二进制码下面表中给出几种典型的二进制代码。
二进制代码是指由二进制数码 0和 1构成的代码。
N位二进制代码 → 可以有 2n个(状态)
代码。
1?4位自然二进制码自然二进制码通常是以表示数值的一种二进制代码。从编码的角度看,二进制也是一种表示数的代码,称为自然二进制码。
例如,1100 可以说它是数 12的二进制数
(数制的概念)
也可以说它是数 12的自然二进制码。 (码制的概念)
虽然一个数的二进制码和其二进制数在写法上完全一样,但在概念上是不一样的。
从表中给出了四位自然二进制码,代码中每个码元的位权从左至右分别为,8?4? 2? 1,十六个代码依次分别用来表示 0 ~ 15。
2?格雷码 ( Cray Code )
(1)单位间距特点共同特点,
在典型的 n位格雷码中,0和最大数 (2n-1)之间也只有一位不同,故它是一种 循环码 。
把两个相邻代码中只有一位对应码元取值不同的特点称为单位间距特性 。
( 2)轴镜像对称从表中红线所示,循环码的各个代码除最左边以外,其它各位均以最左边 0和 1的水平分界线为 轴镜像对称 。
( 3)反射特性循环码的最左边,分界线以上均为 0,以下均为 1。
利用反射特性可以由 n位循环码方便地写出 n+1
位循环码。
由于格雷码的这三个特点,使它在代码形成与传输时引起的误差较小。
例如:在 角度 —–数字转换器 中,希望把旋转角度转换成数字量。由于角度是一个连续的模拟量,数字量是一个离散量,
在各相邻的数字量之间必然存在着 边界,对应这些边界,会在某些数位上出现模糊(即:数值不定)。
1)用二进制码
7,( 0111) 2 → 8,( 1000) 2
解释,7的二进制码是 0111,8的二进制码是
1000。在 7和 8之间的边界上,二进制的四位都处于模糊状态,角度 —数字转换器甚至会输出 0000
或 1111(即:十进制 0或 15)的数字量,出现了较大的误差。
( 2)用格雷码
7,( 0100) Gary → 8,( 1100) Gary
在 7 和 8的边界上,仅最高位会发生模糊,带来的误差不会大余 1(即,7 和 8之差)。
信息码 校验位
0000 0
0000 1
偶校验奇校验
3?奇(偶)校验码奇(偶)校验码 = 信息码 +奇(偶)校验位
0000 0
0000 0
发送方 接收方
0001 0
0011 0 ―对”
检错结果错奇(偶)校验码具有一定的检测错码的能力,
是一种 误差检测码,但 只能检错而不能纠错。
例如,把 8421码作为信息码,构成的奇(偶)
校验码,如表 1.2.1所示。
1,引入 BCD码的原因:
习惯用十进制,而数字系统只处理二进制。
2,分类
(1)有权码:有固定位权
8421BCD,5421BCD,2421BCD,631-1BCD
(2)无权码:无固定位权余 3BCD,余 3循环 BCD、格雷 BCD,8421奇校 BCD
二、二 —十进制( BCD)码 ( Binary
Coded Decimal Codes)
有权码的名称通常用四个码位的位权来命名。
如表中的 8421BCD?5421BCD?2421BCD?631-1BCD
都是有权码。各种有权 BCD码所表示的十进制数 D可以由按权展开式求得。
例 1,[0111]8421BCD=0× 8 + 1× 4 + 1× 2 + 1× 1=( 7) 10
[1100]5421BCD=1× 5 + 1× 4 + 0× 2 + 0× 1=( 9) 10
[1101]2421BCD=1× 2 + 1× 4 + 0× 2 + 1× 1=( 7) 10
[1101]631-1BCD=1× 6 + 1× 3 + 0× 1 + 1× ( -1) =( 8) 10
例如,8421BCD码 b3b2b1b0所表示的十进制数码为:
D = 8b3 + 4b2 + 2b1 +1b0 。
(1) 8421BCD码
(2) 5421BCD码代码中的各位没有固定权值的代码称为 无权码
( 1)余 3BCD码主要特点,0 和 9? 1 和 8? 2 和 7? 3 和 6? 4 和 5的代码互为 反码,具有这种特点的代码称为 自补码 。
余 3BCD码 = 8421码 + 3
( 2)余 3循环码?格雷 BCD码和 8421奇(偶)校验码余 3循环码?格雷 BCD码和 8421奇(偶)校验码由表 1.2.1
中的四位二进制代码中的典型格雷码?奇(偶)校验码去掉 6个代码构成,它仍具有原代码所具有单位间距特性和检错特性。
3,多位十进制数的表示代码间应有间隔例,( 380 )10 = (? )8421BCD
解,( 380 )10 = ( 0011 1000 0000 )8421BCD
注意,用 BCD码表示的十进制数不是二进制数,也不能直接转化为二进制数。如要转换,应先将其转换成十进制数,再由十进制数转换成二进制数。
4,数制与 BCD码间的转换例 1,( 0110 0010 0000 )8421BCD = ( 620 )10
例 2,( 0001 0010 )8421BCD = (? )2
解,( 0001 0010 )8421BCD = ( 12 )10 = ( 1100 )2
5,8421 BCD的加减法运算
(1)加法运算例 1,( 0010 )8421BCD + ( 0011 )8421BCD = (? )8421BCD
0010
﹢ 0011
0101
所以 ( 0010 )8421BCD+( 0011 )8421BCD=( 0101 )8421BCD
例 2,( 0001 )8421BCD + ( 1001 )8421BCD = (? )8421BCD
0001
﹢ 1001
1010
﹢ 0110
0001 0000
( 0001 )8421BCD+( 1001 )8421BCD=( 0001 0000 )8421BCD
所以非法码加 6修正例 3,( 1000 )8421BCD + ( 1000 )8421BCD = (? )8421BCD
1000
﹢ 1000
1 0000
﹢ 0110
0001 0110
( 1000 )8421BCD+( 1000 )8421BCD=( 0001 0110 )8421BCD
所以个位产生进位加 6修正结论,两个 8421BCD码相加,若相加结果中出现了 8421BCD码的非法码或在相加过程中,在 BCD数位上出现了向高位的进位,则应对非法码及产生进位的代码进行
“加 6(即二进制数 0110)修正”。
(2)减法运算例 1,( 0110 )8421BCD - ( 0001 )8421BCD = (? )8421BCD
0110
- 0001
0101
( 0110 )8421BCD- ( 0001 )8421BCD=( 0101 )8421BCD
所以例 2,( 0001 0000 )8421BCD - ( 0101 )8421BCD =
(? )8421BCD
0001 0000
- 0101
0000 1011
- 0110
0000 0101
( 0001 0000)8421BCD - ( 0101 )8421BCD =
( 0101 )8421BCD
个位产生借位减 6修正结论,两个 8421BCD码相减,若相减过程中,在 BCD数位上出现了向高位的借位
,则应对产生借位的代码进行“减 6(即二进制数 0110)修正”。
作业,1.3,1.4,1.5,1.8,1.9
补充题,
一?填空
1?已知,A=(1111011)2,则
A=(? )10=(? )8421BCD= (? )16
2?(1.39)10=(? )2 (本题要求保持原精度 ) 1%。
3?( 1000 ) 16 — ( 700 ) 16 = (? ) 16 = (? ) 10
= (? ) 8 = (?) 2
= (? ) )8421BCD
4?( 133.126 ) )8 = (? )16
5?( 01111000.00110100 )余 3BCD= (? )10
6?( 01000101.00000001 )8421BCD= (? )10
7?当采用奇校验码传输时,试将下列信息码应添加校验位 P填入括号内。
000( ),0001( ),001( ),0011( )
二?已知某 BCD码的码表如下表所示,试求出从低位到高位的各位权值 W0?W1? W2? W3 各为何值。
提示:
D=B3W3+ B2W2+ B1W1+ B0W0
Digital Circuit And System
绪论 (Preface)
一、数字电子技术的发展与应用
1.电子管时代
※ 1906年电子管诞生;
※ 1946年出现第一台电子数字计算机;
世界上第一台电子数字计算机,ENIAC‖
( Electronic Numerical Integrator And Calculator)
于 1946年诞生于美国 宾夕法尼亚 大学,共用了
18,000多只电子管,1500多个继电器,重量达 30余吨,占用了 170平方米的房间,耗电达 140千瓦以上,
其运算速度仅为 5000次 /秒加减法运算,现具有同样功能的电子计算机,体积只有 BP机 那么大(而
Pentium Ⅲ 的运算能力可达每秒钟上亿次)。
2.晶体管时代
※ 1947年晶体管诞生;
美国贝尔实验室:肖克利、巴丁、布拉顿。
※ 1956年晶体管的发明者门获得诺贝尔物理学奖;
3.集成电路时代集成电路,20世纪 60年代发展起来的一种新型器件,把众多 晶体管,电阻,电容 及 连线 制作在一块半导体芯片(如:硅片)上,做成具有特定功能的独立电子线路。外型一般用金属圆壳或 双列直插 结构。集成电路具有性能好,可靠性高,体积小,耗电少,成本低等优点。
集成度,每片集成电路中的门电路或等效门电路的数量。
SSI,1~ 10门; MSI,10~ 100门;
LSI,1~ 1万门; VLSI,1~ 10万门以上;
4.大规模集成电路( LSI)和超大规模集成电路
(VLSI)时代
※ 1971年 4位 CPU(4004)出现,含 2300个晶体管;
※ 1997年 Pentium Ⅱ CPU 出现,含 750万个晶体管;
※ 0.35μm 0.25μm 0.18μm 0.13μm
Pentium 4 2GHz
二、数字电子技术的优点
1.通信系统中:抗干扰能力强 ;保密性好。
信号用脉冲的有无或种类的不同、电平的高低来表示,与幅值无关; 判决门限电平对数字信号进行抗干扰编码(即差错纠正编码)。
2.测量仪表中:测量精度高,测试功能强,
自动化、智能化程度高。
如数字示波器、数字频率计。
三、模拟信号和数字信号
1.模拟信号:幅值连续、时间连续。
2.数字信号:幅值离散、时间连续。
D
t0
0 1 1 0 0
0 1 0 1 0 1 0
1
u t
四、二进制代码,1”和,0”的波形表示
2.脉冲型
1.电位型代码 1 1 0 1 0 0 0
冒险的消除、顺序脉冲发生器中出现。
以太网中使用的是:曼彻斯特码( Manchester)
代码 1 1 0 1 0 0 0
一拍五、本课程的研究内容
1.逻辑代数的基本理论;
2.常用数字集成电路的结构、工作原理,逻辑功能和使用方法 ;
3.数字电路的分析、设计方法;
4,VHDL语言简介;
5.数字系统设计初步。
数字系统,用离散的数字方式表征与处理信息的系统,是一个相互连接的功能模块的集合。
3.独立、按时完成作业,主动质疑;
六、学习方法
2.端正学习态度,培养自信心和兴趣;
4.课前预习、独立思考,提高自学能力;
5.课后多查阅参考书。
1.对于集成电路,重点放在 逻辑功能和使用方法 ;
七、参考教材:
1.脉冲与数字电路 高教出版社 王毓银编
2.数字电子技术基础 高教出版社 阎石主编
3.数字电路与系统 清华大学出版社 刘宝琴第一章 数制与码制一?十进制( Decimal)
用来表征 数值信息 。 在数字电路中,经常会遇到计数问题。数制是以数码的个数(称为基数,用 R表示)
来命名的。人们习惯用十进制数,而在数字系统中则采用二进制?八进制?十六进制数。
构成,由 0 ~ 9 十个数码;
逢十进一,借一当十,
基数 R=10。
1.1 数制 (计数体制)
例 1,( 555) 10 = 5× 102 + 5× 101 + 5× 100
例 2:( 146.5)10 = 1× 102 + 4× 101+ 6× 100+ 5× 10–1
对于任一个十进制数 N,按位权可表示为,
(N)10 = an-1× 10n-1+an-2× 10n-2+ ·· +a1× 101+a0× 100
+a-1× 10-1+ a-2× 10-2+ ·· + a-m× 10-m
ai× 10i
式中,ai取值为,0 ~ 9 中的任一个数码 ;
10i是第 I位的权,10是基数。
n和 m是正整数,n为整数部分,m为小数部分。
讨论,从计数电路考虑,采用十进制数是难于实现的。
因为十进制数有十个数码( 0 ~9)。要用十个不同的而且能严格区分的电路状态与之对应,这将是很困难的。
结论,计数电路一般不直接采用十进制数,而采用二进制数。
原因,
( 1)运算规则简单 (只有 8条规则)
加法,0+0=0; 0+1=1; 1+0=1; 1+1=10。
乘法,0× 0=0; 0× 1=0; 1× 0=0; 1× 1=1。
( 2)电路简单?工作可靠它的每一位数码都可以用任何具有两个不同稳定状态的元件来表示。
例如,D的导通与截止;
继电器触点的闭合和断开;
灯泡的亮和灭等。
都可构成两个不同的稳定状态。
T的饱和与截止;
二? 二进制( Binary)
构成,用二个数码 1 和 0 ;
且逢二进一,借一当二。
R = 2。
( N) 2 Di× 2i
Di取值为 1 或 0,基数为 2。
例,( 101.01) =1× 22+ 1× 20 +1× 2-2
Di× 2i
三?八进制 (Octal)
构成,用 0 ~ 7 八个数码 ;
且逢八进一,借一当八。
R = 8 。
Oi取值为,0 ~ 7 中的任一个数,R = 8 。
例,( 25.6)8= 2× 81+ 5× 80+ 6× 8-1
Oi× 8i
( N) 8 Oi× 8i
四?十六进制 (Hexadecimal)
构成,用 0 ~ 9,A,B,C,D,E,F等十六个数码 ;
且逢十六进一,借一当十六。 R = 16。
( N) 16 = ( N) H Hi× 16i
举例,( 4A.E)16= 4× 161+ 10× 160+ 14× 16-1
Hi× 16i
五?数制转换
1?二?八?十六 进制 → 十进制所谓数制转换是指将一种数制的数变换成等值的用另一种数制表示的数。
将二?八?十六 进制数转换成十进制数,只要把原数写成按权展开再相加即可。
例:分别将( 101.01)2? (74.5)8? (3C.A)16转换成十进制数。
( 101.01)2=
(74.5)8=
(3C.A)16=
1× 22 +1× 20 +1× 2–2=(5.25)10
7× 81+4× 80+5× 8-1=(60.625)10
3× 161+ 12× 160 +10× 16-1=(60.625)10
2?十 进制 → 二? 八? 十六进制
(1)?整数的转换十 进制 → 二? 八? 十六进制数只需将 整数部分和 小数部分 分别转换成二? 八?十六进制数,再将转换结果连接在一起即可。
整数,小数方法,除基数取余法
←,→
例:将( 60) 10分别转换成二?八? 十六进制数。
所以,( 60) 10 = ( 111100) 2
2 60
30 02
15 02
7 12
3 12
1 12
0 1 高低余数
( 60) 10 = (?) 8
( 60) 10 = ( 74 ) 8
( 60) 10 = (?) 16
( 60) 10 = ( 3C ) 16
( 2)小数的转换方法,乘基数取整法。
例,将十进制数 (0.625)10分别转换成二?八?十六进制数。
( 0.625)10=(? )2 ( 0.625)10=(? )8 ( 0.625)10=(? )16
∴ (60.625)10=(111100.101)2=(74.5)8=(3C.A)16
( 0.625)10=( 0.101)2 ( 0.625)10=( 0.5 )8 ( 0.625)10=( 0.A )16
3?转换误差对于小数采用的乘基数取整法将十 → 二?八?十六进制数的小数时,可能会出现多次相乘后乘积的小数部分仍不为 0的情况。
小数的精度及转换位数的确定:
① n位 R进制小数的精度例 1,(0.12)10 的精度为 10-2
例 2,(0.101)2 的精度为 2-3
如果转换取了 n位,则转换的剩余误差?小于该
n位小数的精度,即,? < R-n 。
此时,? < 2-i<0.1%,? < 2-i< 1/1000
取 i≥ 10,∵ 2-10 = 1/210 =1/1024 < 1/1000
∴ i 的取值为,i ≥ 10 (取 10 位 )
② 转换位数的确定例 3,(0.39)10 = (? )2,要求精度达到 0.1%。
解:设二进制数小数点后有 n位小数,
解得 n ≥ 10。
所以 (0.39)10 = (0.0110001111)2 。
4?数的进制表示方法
5?二 → 八十 → 10 或 D ; 八 → 8 或 O ;
二 → 2 或 B ; 十六 → 16 或 H 。
转换方法,二进制数由小数点开始分别向左和向右每三位分成一组,每组便是一位八进制数,这样的表示法叫二 — 八进制。( ∵ 八进制数对应三位二进制数,
即,000 ~ 111。) ←,→
例 1,( 111 100,101 )2 =
例 2,( 010 011 101,010 )2 =
(74.5)8
( 235,2 )8
6?二 进制 → 十六进制
7? 八进制 → 二进制转换方法,先将八进制 → 二 — 八进制,
再把二 — 八进制 → 二进制。
例,(0011 1100,1010 )2 =
转换方法,二进制数由小数点开始分别向左和向右每 4
位分成一组,每组便是一个十六进制数,这样的表示法叫做二 — 十六进制。
例,( 345.1)8=(? )2
1) 二 — 八进制,(011 100 101.001);
2) 二进制,(11100101.001)2
(3C.A )16
8?十六 进制 → 二进制转换方法,先将十六进制 → 二 — 十六进制,
再把二 — 十六进制 → 二进制。
9?非十进制之间的互换例,( AF.26)16 =(? )2
1) 二 — 十六进制,(1010 1111,0010 0110)
2) 二 进制,(10101111.0010011)2
不同数制转换时,可采用的 转换方法,
1)先转换成十进制数 ;
2)然后再将十进制数转换成新数制的数。
例,( 4321) 5=(? ) 2
解,1)先求出( 4321) 5= (?) 10
( 4321) 5=4× 53+ 3× 52+ 2× 51+ 1× 50
= ( 586) 10
2)( 586) 10=(?) 2
∴ ( 4321) 5 =( 586) 10
=( 1001001010) 2
1.2 码制 (编码的制式)
用来表征 非数值信息 。
不同的数码不仅可以表示数量的不同大小,而且还能用来表示不同的事物。而用来表示不同的事物的这些数码已没有表示数量大小的含意,只是表示不同事物的代码而已。
这些数码称为 代码 。
编码,人为规定的码制。
例如,在举行长跑比赛时,为便于识别运动员,通常给每个运动员编一个号码。显然,
这些号码仅仅表示不同的运动员,已失去了数量大小的含意。
为便于记忆和处理,在编制代码时总要遵循一定的规则,而这些规则就叫做 码制 。
例如,在用四位二进制数码表示一位十进制数的 0 ~ 9这十个状态时,就有不同的码制。
一?二进制码下面表中给出几种典型的二进制代码。
二进制代码是指由二进制数码 0和 1构成的代码。
N位二进制代码 → 可以有 2n个(状态)
代码。
1?4位自然二进制码自然二进制码通常是以表示数值的一种二进制代码。从编码的角度看,二进制也是一种表示数的代码,称为自然二进制码。
例如,1100 可以说它是数 12的二进制数
(数制的概念)
也可以说它是数 12的自然二进制码。 (码制的概念)
虽然一个数的二进制码和其二进制数在写法上完全一样,但在概念上是不一样的。
从表中给出了四位自然二进制码,代码中每个码元的位权从左至右分别为,8?4? 2? 1,十六个代码依次分别用来表示 0 ~ 15。
2?格雷码 ( Cray Code )
(1)单位间距特点共同特点,
在典型的 n位格雷码中,0和最大数 (2n-1)之间也只有一位不同,故它是一种 循环码 。
把两个相邻代码中只有一位对应码元取值不同的特点称为单位间距特性 。
( 2)轴镜像对称从表中红线所示,循环码的各个代码除最左边以外,其它各位均以最左边 0和 1的水平分界线为 轴镜像对称 。
( 3)反射特性循环码的最左边,分界线以上均为 0,以下均为 1。
利用反射特性可以由 n位循环码方便地写出 n+1
位循环码。
由于格雷码的这三个特点,使它在代码形成与传输时引起的误差较小。
例如:在 角度 —–数字转换器 中,希望把旋转角度转换成数字量。由于角度是一个连续的模拟量,数字量是一个离散量,
在各相邻的数字量之间必然存在着 边界,对应这些边界,会在某些数位上出现模糊(即:数值不定)。
1)用二进制码
7,( 0111) 2 → 8,( 1000) 2
解释,7的二进制码是 0111,8的二进制码是
1000。在 7和 8之间的边界上,二进制的四位都处于模糊状态,角度 —数字转换器甚至会输出 0000
或 1111(即:十进制 0或 15)的数字量,出现了较大的误差。
( 2)用格雷码
7,( 0100) Gary → 8,( 1100) Gary
在 7 和 8的边界上,仅最高位会发生模糊,带来的误差不会大余 1(即,7 和 8之差)。
信息码 校验位
0000 0
0000 1
偶校验奇校验
3?奇(偶)校验码奇(偶)校验码 = 信息码 +奇(偶)校验位
0000 0
0000 0
发送方 接收方
0001 0
0011 0 ―对”
检错结果错奇(偶)校验码具有一定的检测错码的能力,
是一种 误差检测码,但 只能检错而不能纠错。
例如,把 8421码作为信息码,构成的奇(偶)
校验码,如表 1.2.1所示。
1,引入 BCD码的原因:
习惯用十进制,而数字系统只处理二进制。
2,分类
(1)有权码:有固定位权
8421BCD,5421BCD,2421BCD,631-1BCD
(2)无权码:无固定位权余 3BCD,余 3循环 BCD、格雷 BCD,8421奇校 BCD
二、二 —十进制( BCD)码 ( Binary
Coded Decimal Codes)
有权码的名称通常用四个码位的位权来命名。
如表中的 8421BCD?5421BCD?2421BCD?631-1BCD
都是有权码。各种有权 BCD码所表示的十进制数 D可以由按权展开式求得。
例 1,[0111]8421BCD=0× 8 + 1× 4 + 1× 2 + 1× 1=( 7) 10
[1100]5421BCD=1× 5 + 1× 4 + 0× 2 + 0× 1=( 9) 10
[1101]2421BCD=1× 2 + 1× 4 + 0× 2 + 1× 1=( 7) 10
[1101]631-1BCD=1× 6 + 1× 3 + 0× 1 + 1× ( -1) =( 8) 10
例如,8421BCD码 b3b2b1b0所表示的十进制数码为:
D = 8b3 + 4b2 + 2b1 +1b0 。
(1) 8421BCD码
(2) 5421BCD码代码中的各位没有固定权值的代码称为 无权码
( 1)余 3BCD码主要特点,0 和 9? 1 和 8? 2 和 7? 3 和 6? 4 和 5的代码互为 反码,具有这种特点的代码称为 自补码 。
余 3BCD码 = 8421码 + 3
( 2)余 3循环码?格雷 BCD码和 8421奇(偶)校验码余 3循环码?格雷 BCD码和 8421奇(偶)校验码由表 1.2.1
中的四位二进制代码中的典型格雷码?奇(偶)校验码去掉 6个代码构成,它仍具有原代码所具有单位间距特性和检错特性。
3,多位十进制数的表示代码间应有间隔例,( 380 )10 = (? )8421BCD
解,( 380 )10 = ( 0011 1000 0000 )8421BCD
注意,用 BCD码表示的十进制数不是二进制数,也不能直接转化为二进制数。如要转换,应先将其转换成十进制数,再由十进制数转换成二进制数。
4,数制与 BCD码间的转换例 1,( 0110 0010 0000 )8421BCD = ( 620 )10
例 2,( 0001 0010 )8421BCD = (? )2
解,( 0001 0010 )8421BCD = ( 12 )10 = ( 1100 )2
5,8421 BCD的加减法运算
(1)加法运算例 1,( 0010 )8421BCD + ( 0011 )8421BCD = (? )8421BCD
0010
﹢ 0011
0101
所以 ( 0010 )8421BCD+( 0011 )8421BCD=( 0101 )8421BCD
例 2,( 0001 )8421BCD + ( 1001 )8421BCD = (? )8421BCD
0001
﹢ 1001
1010
﹢ 0110
0001 0000
( 0001 )8421BCD+( 1001 )8421BCD=( 0001 0000 )8421BCD
所以非法码加 6修正例 3,( 1000 )8421BCD + ( 1000 )8421BCD = (? )8421BCD
1000
﹢ 1000
1 0000
﹢ 0110
0001 0110
( 1000 )8421BCD+( 1000 )8421BCD=( 0001 0110 )8421BCD
所以个位产生进位加 6修正结论,两个 8421BCD码相加,若相加结果中出现了 8421BCD码的非法码或在相加过程中,在 BCD数位上出现了向高位的进位,则应对非法码及产生进位的代码进行
“加 6(即二进制数 0110)修正”。
(2)减法运算例 1,( 0110 )8421BCD - ( 0001 )8421BCD = (? )8421BCD
0110
- 0001
0101
( 0110 )8421BCD- ( 0001 )8421BCD=( 0101 )8421BCD
所以例 2,( 0001 0000 )8421BCD - ( 0101 )8421BCD =
(? )8421BCD
0001 0000
- 0101
0000 1011
- 0110
0000 0101
( 0001 0000)8421BCD - ( 0101 )8421BCD =
( 0101 )8421BCD
个位产生借位减 6修正结论,两个 8421BCD码相减,若相减过程中,在 BCD数位上出现了向高位的借位
,则应对产生借位的代码进行“减 6(即二进制数 0110)修正”。
作业,1.3,1.4,1.5,1.8,1.9
补充题,
一?填空
1?已知,A=(1111011)2,则
A=(? )10=(? )8421BCD= (? )16
2?(1.39)10=(? )2 (本题要求保持原精度 ) 1%。
3?( 1000 ) 16 — ( 700 ) 16 = (? ) 16 = (? ) 10
= (? ) 8 = (?) 2
= (? ) )8421BCD
4?( 133.126 ) )8 = (? )16
5?( 01111000.00110100 )余 3BCD= (? )10
6?( 01000101.00000001 )8421BCD= (? )10
7?当采用奇校验码传输时,试将下列信息码应添加校验位 P填入括号内。
000( ),0001( ),001( ),0011( )
二?已知某 BCD码的码表如下表所示,试求出从低位到高位的各位权值 W0?W1? W2? W3 各为何值。
提示:
D=B3W3+ B2W2+ B1W1+ B0W0