《第2章 数制和编码.ppt》由会员分享,可在线阅读,更多相关《第2章 数制和编码.ppt(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本章主要问题:本章主要问题:掌握二、十、八、十六进制数及相互转换;掌握二进制数的原码、反码和补码表示及其加减运算;补码加减运算中溢出的判断方法?引用补码的意义?掌握常用的几种编码。参考书目:编码的奥秘机械工业出版社第第2 2章章 数制与编码数制与编码12/21/20221习题习题 1、自学本章未讲授的部分。2、思考反码运算时的循环进位问题。3、完成练习11,12,20,22,24,46。(3E)4、小论文:进位记数制。第第2 2章章 数制与编码(续)数制与编码(续)12/21/20222l 进位计数制2.1 2.1 进位计数制进位计数制l 十进制数的表示l 位置计数法-不同位置的数码其大小不同
2、 例例:223.34 读作:二百二十三点三四l 按权展开式 例例:123.45=1102+2101+3100+410-1+510-2l 基与基数-用来表示数的数码的集合称为基,集合的大小称为基数。l 权-在十进制数中,10的整幂次方(0,1,10,100,1000,)称为十进制数的权。l 二进制数的表示 对于任意一个二进制数N,用位置记数法可表示为:(N)2=(an-1 an-2 a1 a0.a-1 a-2 a-m)212/21/20223 上面两式中,ai=0或1,n为整数部分的位数,m为小数部分的位数。用权展开式可表示为:(N)2=an-12n-1+an-22n-2+a121+a020+a
3、-1 2-1+a-22-2+a-m2-m2.1 2.1 进位计数制(续)进位计数制(续)l 任意进制数(1)的表示:请参考教材p17。l 二进制数的特点l 只有两个数码,很容易用物理器件来实现。l 运算规则简单。l 可使用逻辑代数这一数学工具。12/21/20224l 二进制数和十进制数之间的转换2.2 2.2 数制转换数制转换l 二进制数十进制数:按权展开式在十进制数域中计算l 例如:l 十进制数二进制数l 整数部分:除2取余法例例:将(58)10转换成二进制形式解解:12/21/20225等式两边同时除2,有得a0=0得a1=1等式两边再同时除2,有 则 (58)10=(111010)22
4、.2 2.2 数制转换(续)数制转换(续)12/21/20226等式两边同时乘2,有得a-1=1等式两边的小数部分再同时乘2,有得a-2=0l 小数部分:乘2取整法例:例:将(0.625)10转换成二进制形式解解:2.2 2.2 数制转换(续)数制转换(续)12/21/20227等式两边的小数部分再同时乘2,有得a-3=1 则:注意注意不能进行精确转换的情况l 八进制数、十六进制数与二进制数的转换l 按位分组法例:例:八进制:2 5 7 0 5 5 4 二进制:010 101 111 000 101 101 100 十六进制:A F 1 6 C 因此,(257.0554)8=(10101111
5、.0001011011)2=(AF.16C)162.2 2.2 数制转换(续)数制转换(续)12/21/202282.2 2.2 数制转换(续)数制转换(续)12/21/20229l 真值与机器数2.3 2.3 带符号数的代码表示带符号数的代码表示l 真值:直接用“+”和“”表示符号的二进制数,它不能在机器中使用。l 机器数:将符号数值化了的二进制数,可在机器中使用。例:例:+1011 01011;-1011 11011l 原码:正数符号位为0;负数符号位为1,其余各位表示数的绝对值。例:例:N1 =+10011 N2 =01010 N1原=010011 N2原=101010l 特点:真值0有
6、两种原码表示形式,即+0原=000,0原=100。l 4位原码 1111 1110 1101 1100 1011 1010 1001 1000 0000 0001 0010 0011 0100 0101 0110 0111 -7 -6 -5 -4 -3 -2 -1 -0 +0 +1 +2 +3 +4 +5 +6 +712/21/202210例:例:N1 =+10011 N2 =01010 N1反=010011 N2反=110101l 反码:对于正数,其反码表示与原码表示相同,对于负数,符号位为1,其余各位是将原码数值按位求反。2.3 2.3 带符号数的代码表示带符号数的代码表示(续)(续)l
7、一个r进制数字d(无符号)的反码是r-1-d。l 当r为2的整幂次方且用2进制表示时,电路中可由反相器来实现求反运算。l 特点:真值0有两种反码表示形式,即+0反=000,0反=1 11。l 4位反码 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111 -7 -6 -5 -4 -3 -2 -1 -0 +0 +1 +2 +3 +4 +5 +6 +712/21/2022112.3 2.3 带符号数的代码表示带符号数的代码表示(续)(续)12/21/202212例:例:N1 =+10011 N
8、2 =01010 N1补=010011 N2补=110110l 补码:对于正数,其补码表示与原码表示相同,对于负数,符号位为1,其余各位是在反码数值的末位加“1”。2.3 2.3 带符号数的代码表示带符号数的代码表示(续)(续)l 特点:真值0只有一种表示形式,即+0补=-0补=000。+0补=000,0补=1 000=000(模2n)n位 n+1位 n位l 4位补码 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111 -8 -7 -6 -5 -4 -3 -2 -1 0 +1 +2 +3
9、 +4 +5 +6 +712/21/2022132.3 2.3 带符号数的代码表示带符号数的代码表示(续)(续)l 求“反数”的补码(又称“变补”)12/21/202214l 原码加减运算2.4 2.4 机器数的加法和减法机器数的加法和减法l 符号位不参与运算,单独处理。l 设A、B表示绝对值,有下列两类八种情况。l (+A)+(+B)=(+A)-(-B)(-A)+(-B)=(-A)-(+B)同号数相加或异号数相减运算规则为绝对值相加,取被加(减)数的符号。l (+A)-(+B)=(+A)+(-B)(-A)-(-B)=(-A)+(+B)同号数相减或异号数相加运算规则为绝对值相减,取绝大值较大者
10、的符号。12/21/202215例:例:N1 =0011,N2 =1011,求 N1+N2原和 N1 N2原。解:解:N1 原10011,N2 原01011 求 N1+N2原,绝对值相减,有 1 0 1 1 )0 0 1 1 1 0 0 0 结果取N2的符号,即:N1+N2原01000,真值为:N1+N2+1000 求 N1-N2原,绝对值相加,有 0 0 1 1 +)1 0 1 1 1 1 1 0 结果取N1的符号,即:N1-N2原11110,真值为:N1-N2-11102.4 2.4 机器数的加法和减法机器数的加法和减法(续)(续)12/21/2022162.4 2.4 机器数的加法和减法
11、机器数的加法和减法(续)(续)l 钟表对时(补码加减运算原理)12/21/2022172.4 2.4 机器数的加法和减法机器数的加法和减法(续)(续)12/21/202218l 补码加减运算2.4 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=01000 1 1 1 0 1 +)
12、0 1 0 1 1 丢弃 1 0 1 0 0 0 真值为:N1+N2=+100012/21/202219 N1 N2补=11101+10101=10010 1 1 1 0 1 +)1 0 1 0 1 丢弃 1 1 0 0 1 0真值为:N1 N2=11102.4 2.4 机器数的加法和减法机器数的加法和减法(续)(续)l 反码加减运算 可以证明有如下反码加、减运算规则:N1+N2反 N1反+N2反,N1 N2反 N1反+N2反 当符号位有进位时,应在结果的最低位再加“1”。(?)12/21/2022202.4 2.4 机器数的加法和减法机器数的加法和减法(续)(续)例:例:N1 =0011,N
13、2 =1011,求 N1+N2反和 N1 N2反。解解:N1 反11100,N2 反01011,N2 反10100 N1+N2反=11100+01011 1 1 1 0 0 )0 1 0 1 1 1 0 0 1 1 1 )1 0 1 0 0 0 真值为:N1+N2=+1000 N1 N2反 11100+10100 真值为:N1 N2=1110 1 1 1 0 0+)1 0 1 0 0 1 1 0 0 0 0+)1 1 0 0 0 112/21/2022212.4 2.4 机器数的加法和减法机器数的加法和减法(续)(续)l 溢出:如果加法操作产生的结果超出了数制定义的范围,就说发生了溢出(ove
14、rflow)。l 溢出判断l 补码:Cin Cout Cin Cout=1l 无符号数:CMSB=112/21/2022222.4 2.4 机器数的加法和减法机器数的加法和减法(续)(续)12/21/202223原码、反码、补码、移码之间的关系原码、反码、补码、移码之间的关系X补补X原原X反反符号位保留,各位变反再加符号位保留,各位变反再加1 1X移移符号位保留,各位变反符号位保留,各位变反符号位连同各位变反再加符号位连同各位变反再加1 1X原原X补补+X补补-X补补符号位变反,各位保留符号位变反,各位保留(X 0)(X 0)(X2)。12/21/2022342.10 2.10 检错码和纠错码
15、(续)检错码和纠错码(续)l 一般来说,若码距d 1,则l 如果用来检查错误,可以发现d 1位错;l 如果用来纠正错误,则dl 为奇数时,可以纠正(d-1)/2位错;l 为偶数时,可以纠正(d/2-1)位错。12/21/202235123456712345672.11 2.11 海明校验码海明校验码l 将信息位分为多个组,每一个组增添一个奇偶校验位,利用各位在不同组的逻辑关系进行查错与纠错。123456712/21/2022362.11 2.11 海明校验码海明校验码l 每个校验位只参加一组校验;l 每个信息位至少参加一组以上的校验,且这些组别不完全相同。123456712/21/202237
16、2.11 2.11 海明校验码(续)海明校验码(续)l 当校验字为0时,表明没有错误,否则有错误,且校验字的值就是出现错误的位的位置。123456712/21/2022382.11 2.11 海明校验码(续)海明校验码(续)12/21/2022392.12 2.12 串行数据编码串行数据编码l 串行传送数据可以有效降低成本l 如在网络传输数据、磁头读写数据l 3个单独的信号流有时还是被认为太多,需要把它们合成在一起,组成单一的串行数据流。12/21/2022402.12 2.12 串行数据编码(续)串行数据编码(续)12/21/2022412.12 2.12 串行数据编码(续)串行数据编码(续
17、)l 不归零制(NRZ),又名“见变就翻法”l 无法提取时钟,需要外部时钟进行同步。l 在转换敏感型存储介质上,以NRZ格式存储的数据不能轻易地恢复,上图可解释为01110010或者10001101。l 当某一位发生错误时,其后面的代码都会错一下,不利于纠错。12/21/202242l 归零制(RZ)l 无自同步能力,但只要数据不包含长的、连续的0串,DPLL就可以从中恢复时钟。l 没有错误传递问题,有利纠错。2.12 2.12 串行数据编码(续)串行数据编码(续)12/21/202243l 双极性归零制(BPRZ)l 传输3个信号电平。l 直流平衡性能好,这使得在不能容忍直流分量的传输介质(如变压器耦合的电话线)上传送信息流成为可能。l 其它类似于RZ2.12 2.12 串行数据编码(续)串行数据编码(续)12/21/202244l 调相制,又名曼彻斯特编码。l 具有自同步能力,因为每个位元都翻转了一次。l 编码含有较多的翻转,需要更宽的介质带宽来传输给定的比特率。2.12 2.12 串行数据编码(续)串行数据编码(续)l 调频制12/21/202245