第2章数制和编码.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2019/12/201本章主要问题:掌握二、十、八、十六进制数及相互转换;掌握二进制数的原码、反码和补码表示及其加减运算;补码加减运算中溢出的判断方法?引用补码的意义?掌握常用的几种编码。参考书目:《编码的奥秘》机械工业出版社第2章数制与编码2019/12/202习题1、自学本章未讲授的部分。2、思考反码运算时的循环进位问题。3、完成练习11,12,20,22,24,46。(3E)4、小论文:进位记数制。第2章数制与编码(续)2019/12/203进位计数制2.1进位计数制十进制数的表示位置计数法--不同位置的数码其大小不同例:223.34读作:二百二十三点三四按权展开式例:123.45=1102+2101+3100+410-1+510-2基与基数--用来表示数的数码的集合称为基,集合的大小称为基数。权--在十进制数中,10的整幂次方(0,1,10,100,1000,,,)称为十进制数的权。二进制数的表示对于任意一个二进制数N,用位置记数法可表示为:(N)2=(an-1an-2…a1a0.a-1a-2…a-m)22019/12/204iianmi21上面两式中,ai=0或1,n为整数部分的位数,m为小数部分的位数。用权展开式可表示为:(N)2=an-12n-1+an-22n-2+…+a121+a020+a-12-1+a-22-2+…+a-m2-m2.1进位计数制(续)任意进制数(1)的表示:请参考教材p17。二进制数的特点只有两个数码,很容易用物理器件来实现。运算规则简单。可使用逻辑代数这一数学工具。2019/12/205二进制数和十进制数之间的转换2.2数制转换10321012342625.26125.05.0128162120212121202121101.11010二进制数十进制数:按权展开式在十进制数域中计算例如:十进制数二进制数整数部分:除2取余法013221001122112012110)22(22222)()58(aaaaaaaaaaaannnnnnnnnn例:将(58)10转换成二进制形式解:2019/12/206222)29(01322110aaaannn-n等式两边同时除2,有得a0=0222)2114(12423110aaaannn-n得a1=1等式两边再同时除2,有……则(58)10=(111010)22.2数制转换(续)2019/12/207等式两边同时乘2,有)22()25.1(112110mmaaa得a-1=1等式两边的小数部分再同时乘2,有)22()5.0(213210mmaaa得a-2=0小数部分:乘2取整法例:将(0.625)10转换成二进制形式)22(212).0()625.0(112122110mmmaaaaaa解:2.2数制转换(续)2019/12/208等式两边的小数部分再同时乘2,有)22()00.1(314310mmaaa得a-3=1则:210)101.0()625.0(注意不能进行精确转换的情况八进制数、十六进制数与二进制数的转换按位分组法例:八进制:2570554二进制:010101111000101101100十六进制:AF16C因此,(257.0554)8=(10101111.0001011011)2=(AF.16C)162.2数制转换(续)2019/12/2092.2数制转换(续)2019/12/2010真值与机器数2.3带符号数的代码表示真值:直接用“+”和“–”表示符号的二进制数,它不能在机器中使用。机器数:将符号数值化了的二进制数,可在机器中使用。例:+101101011;-101111011原码:正数符号位为0;负数符号位为1,其余各位表示数的绝对值。例:N1=+10011N2=–01010[N1]原=010011[N2]原=101010特点:真值0有两种原码表示形式,即[+0]原=00…0,[–0]原=10…0。4位原码1111111011011100101110101001100000000001001000110100010101100111-7-6-5-4-3-2-1-0+0+1+2+3+4+5+6+72019/12/2011例:N1=+10011N2=–01010[N1]反=010011[N2]反=110101反码:对于正数,其反码表示与原码表示相同,对于负数,符号位为1,其余各位是将原码数值按位求反。2.3带符号数的代码表示(续)一个r进制数字d(无符号)的反码是r-1-d。当r为2的整幂次方且用2进制表示时,电路中可由反相器来实现求反运算。特点:真值0有两种反码表示形式,即[+0]反=00…0,[–0]反=11…1。4位反码1000100110101011110011011110111100000001001000110100010101100111-7-6-5-4-3-2-1-0+0+1+2+3+4+5+6+72019/12/20122.3带符号数的代码表示(续)2019/12/2013例:N1=+10011N2=–01010[N1]补=010011[N2]补=110110补码:对于正数,其补码表示与原码表示相同,对于负数,符号位为1,其余各位是在反码数值的末位加“1”。2.3带符号数的代码表示(续)特点:真值0只有一种表示形式,即[+0]补=[-0]补=00…0。[+0]补=00…0,[–0]补=100…0=00…0(模2n)n位n+1位n位4位补码1000100110101011110011011110111100000001001000110100010101100111-8-7-6-5-4-3-2-10+1+2+3+4+5+6+72019/12/20142.3带符号数的代码表示(续)求“反数”的补码(又称“变补”)2019/12/2015原码加减运算2.4机器数的加法和减法符号位不参与运算,单独处理。设A、B表示绝对值,有下列两类八种情况。(+A)+(+B)=(+A)-(-B)(-A)+(-B)=(-A)-(+B)同号数相加或异号数相减运算规则为绝对值相加,取被加(减)数的符号。(+A)-(+B)=(+A)+(-B)(-A)-(-B)=(-A)+(+B)同号数相减或异号数相加运算规则为绝对值相减,取绝大值较大者的符号。2019/12/2016例:N1=-0011,N2=1011,求[N1+N2]原和[N1-N2]原。解:[N1]原=10011,[N2]原=01011求[N1+N2]原,绝对值相减,有1011-)00111000结果取N2的符号,即:[N1+N2]原=01000,真值为:N1+N2=+1000求[N1-N2]原,绝对值相加,有0011+)10111110结果取N1的符号,即:[N1-N2]原=11110,真值为:N1-N2=-11102.4机器数的加法和减法(续)2019/12/20172.4机器数的加法和减法(续)钟表对时(补码加减运算原理)2019/12/20182.4机器数的加法和减法(续)2019/12/2019补码加减运算2.4机器数的加法和减法(续)可以证明有如下补码加、减运算规则:[N1+N2]补=[N1]补+[N2]补,[N1-N2]补=[N1]补+[-N2]补此规则说明补码的符号位应参与运算。例:N1=-0011,N2=1011,求[N1+N2]补和[N1-N2]补。解:[N1]补=11101,[N2]补=01011,[-N2]补=10101[N1+N2]补=11101+01011=0100011101+)01011丢弃101000真值为:N1+N2=+10002019/12/2020[N1-N2]补=11101+10101=1001011101+)10101丢弃110010真值为:N1-N2=-11102.4机器数的加法和减法(续)反码加减运算可以证明有如下反码加、减运算规则:[N1+N2]反=[N1]反+[N2]反,[N1-N2]反=[N1]反+[-N2]反当符号位有进位时,应在结果的最低位再加“1”。(?)2019/12/20212.4机器数的加法和减法(续)例:N1=-0011,N2=1011,求[N1+N2]反和[N1-N2]反。解:[N1]反=11100,[N2]反=01011,[-N2]反=10100[N1+N2]反=11100+0101111100+)01011100111+)101000真值为:N1+N2=+1000[N1-N2]反=11100+10100真值为:N1-N2=-111011100+)10100110000+)1100012019/12/20222.4机器数的加法和减法(续)溢出:如果加法操作产生的结果超出了数制定义的范围,就说发生了溢出(overflow)。溢出判断补码:CinCoutCinCout=1无符号数:CMSB=12019/12/20232.4机器数的加法和减法(续)2019/12/2024原码、反码、补码、移码之间的关系[X]补[X]原[X]反符号位保留,各位变反再加1[X]移符号位保留,各位变反符号位连同各位变反再加1[X]原[X]补[+X]补[-X]补符号位变反,各位保留(X0)(X0)(X0)2019/12/20252.5十进制数的二进制编码(续)二进制数最适于数字系统的内部计算,但多数人喜欢用十进制数。用二进制位串表示十进制数,不同位串组合代表不同的十进制数。用于表示不同的数或事件的一组二进制码的集合称为一种编码。一个含义确切的特定组合,称为一个码字。使用n位二进制码的编码,并不一定需要包含有全部2n个码字。2019/12/20262.5十进制数的二进制编码(续)BCD码加法结果校正BCD码调整指令2019/12/20272.6葛莱(格雷)码2019/12/20282.6葛莱(格雷)码(续)2019/12/20292.6葛莱(格雷)码(续)2019/12/20302.7字符编码数字0,1,…,9与字符0,1,…,9是不同的.2019/12/20312.8动作、条件和状态的编码编码宽度nb2log线较少2019/12/20322.8动作、条件和状态的编码(续)选中信号0或1n中选m码(8B10B码,用在802.3z千兆以太网标准中)选择电路简单2019/12/20332.10检错码和纠错码数字电路中的错误很可能是灾难性的。码距为1的编码不能检查出错误,更不能纠正错误。000,001,010,011,100,101,110,111奇偶校验码由信息位和校验位(冗余部分)两部分组成。校验位的取值可使整个校验码中1的个数事先约定为奇数或偶数。000,101,110,011,非码:001,010,100,111码距为2。可发现奇数位错误,但不能发现偶数位错误。一般可以假定数字系统中的差错是独立的。2019/12/20342.10检错码和纠错码(续)纠错码与多重检错码(码距2)。2019/12/20352.10检错码和纠错码(续)一般来说,若码距d1,则如果用来检查错误,可以发现d–1位错;如果用来纠正错误,则d为奇数时,可以纠正(d-1)/2位错;为偶数时,可以纠正(d/2-1)位错。2019/12/2036123456712345672.11海明校验码将信息位分为多个组,每一个组增添一个奇偶校验位,利用各位在不同组的逻辑关系进行查错与纠错。12345672019/12/20372.11海明校验码每个校验位只参加一组校验;每个信息位至少参加一组以上

1 / 45
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功