《数字逻辑设计》cha4课件.ppt

上传人(卖家):晟晟文业 文档编号:4784576 上传时间:2023-01-10 格式:PPT 页数:76 大小:1.44MB
下载 相关 举报
《数字逻辑设计》cha4课件.ppt_第1页
第1页 / 共76页
《数字逻辑设计》cha4课件.ppt_第2页
第2页 / 共76页
《数字逻辑设计》cha4课件.ppt_第3页
第3页 / 共76页
《数字逻辑设计》cha4课件.ppt_第4页
第4页 / 共76页
《数字逻辑设计》cha4课件.ppt_第5页
第5页 / 共76页
点击查看更多>>
资源描述

1、2008.112008.11精选ppt1第第4章章 数的表示方法和算术运算电路数的表示方法和算术运算电路【课前思考】【课前思考】【学习指南】【学习指南】4.1数制和编码数制和编码4.2无符号数的加法运算无符号数的加法运算4.3有符号数的表示方法和算术运算有符号数的表示方法和算术运算4.4用用EDA工具设计算术运算电路示例工具设计算术运算电路示例【本章小结】【本章小结】2008.112008.11精选ppt24.1数制和编码数制和编码 日常生活中最常见的数据表示形式是十进制数,与此日常生活中最常见的数据表示形式是十进制数,与此同时也存在大量的其它数制。例如同时也存在大量的其它数制。例如 12英寸

2、为英寸为1英尺是十二进制;英尺是十二进制;60秒为秒为1分钟是六十进制;分钟是六十进制;24小时为小时为1天是二十四进制天是二十四进制。数字电路只可能有数字电路只可能有2个稳定状态(个稳定状态(H/L),因此数字系),因此数字系统内部采用二进制数也合乎逻辑。统内部采用二进制数也合乎逻辑。把数据转换为一组代码(这里特指二进制代码)称为把数据转换为一组代码(这里特指二进制代码)称为编码。编码。2008.112008.11精选ppt3数的位置表示法数的位置表示法 十进制数十进制数2758.12可以表示为:可以表示为:(2758.12)10=2 103+7 102+5 101+8 100+1 10-1

3、+2 10-2 十进制数的一般形式十进制数的一般形式:(D)10=dn-1dn-2did1d0.d-1d-m 可以表示为:可以表示为:式(式(4-1)中)中:下标下标 i 代表数字代表数字d i 的的位置位置,p i是十进制数第是十进制数第i 位数字的位数字的权权。十进制数中每一位十进制数中每一位d i有有10种可能的取值,并且其权重为种可能的取值,并且其权重为10的幂,的幂,故称其为故称其为以以10为基为基的数。的数。11010)(nmiiidD)14(10)(110iinmiiipdpD式中2008.112008.11精选ppt4数的位置表示法(续)数的位置表示法(续)二进制数的一般形式二

4、进制数的一般形式:式(式(4-2)中)中:下标下标 i 代表数字代表数字b i 的的位置位置,p i 是二进制数第是二进制数第 i 位数字的位数字的权权。二进制数中每一位二进制数中每一位 b i有有 2 种可能的取值,并且其权重为种可能的取值,并且其权重为 2 的的幂,故称其为幂,故称其为以以2为基为基的数。的数。122)(nmiiibB)24(2)(12iinmiiipbpB式中2008.112008.11精选ppt5数的位置表示法(续)数的位置表示法(续)r 进制数的一般形式进制数的一般形式:式(式(4-3)中)中:下标下标 i 代表数字代表数字s i 的的位置位置,p i 是是 r 进制

5、数第进制数第 i 位数字的位数字的权权。r 进制数中每一位进制数中每一位 s i有有 r 种可能的取值,并且其权重为种可能的取值,并且其权重为 r 的幂,故称的幂,故称其为其为以以 r 为基为基的数。的数。1)(nmiiirsrS)34()(1iinmiiirrpspS式中2008.112008.11精选ppt6数的位置表示法(续)数的位置表示法(续)r 进制数进制数 第第 i 位数字位数字si 的权值为的权值为pi,属于,属于有权编码有权编码。(与此相对的是无权编码)(与此相对的是无权编码)数字系统中常用的数制数字系统中常用的数制:提醒:二进制数中某一位提醒:二进制数中某一位b i 的单位为

6、比特(的单位为比特(bit),比特的取值可为),比特的取值可为 0 或或 1,这里的,这里的 0 或或 1 具有数值的意义。第具有数值的意义。第1章中谈及布尔函数和布尔变量时,章中谈及布尔函数和布尔变量时,布尔变量的取值也可用布尔变量的取值也可用 0 或或 1 表示,但那时表示,但那时 0 的含义是假,的含义是假,1 的含义是的含义是真。真。2008.112008.11精选ppt7二进制数与十进制数的相互转换二进制数与十进制数的相互转换 二进制数转换为十进制数:二进制数转换为十进制数:式(式(4-2)是二进制数与十进制数相互转换的数学基础是二进制数与十进制数相互转换的数学基础 例:例:)24(

7、2)(12iinmiiipbpB式中2008.112008.11精选ppt8二进制数与十进制数的相互转换(续)二进制数与十进制数的相互转换(续)十进制数转换为二进制数十进制数转换为二进制数:通常把通常把整数部分整数部分与与小数部分小数部分分别处理分别处理 整数部分整数部分:(1)将十进制整数除以)将十进制整数除以2,所得余数即为对应二进制数最低位的值;,所得余数即为对应二进制数最低位的值;(2)将上次所得商再除以)将上次所得商再除以2,所得余数即为对应二进制数次低位的值;,所得余数即为对应二进制数次低位的值;(3)重复执行第()重复执行第(2)步的操作,直到商为)步的操作,直到商为 0 时为止

8、。余数构成二进时为止。余数构成二进制数每一位的值。制数每一位的值。例:例:(45)10=(101101)22008.112008.11精选ppt9二进制数与十进制数的相互转换(续)二进制数与十进制数的相互转换(续)十进制数转换为二进制数十进制数转换为二进制数:整数部分转换简略的形式:整数部分转换简略的形式:除数 2 被除数/商 余数 2 45 .1 2 22 .0 2 11 .1 2 5 .1 2 2 .0 2 1 .1 低位 高位 0 例:(例:(45)10=(101101)22008.112008.11精选ppt10二进制数与十进制数的相互转换(续)二进制数与十进制数的相互转换(续)十进制

9、数转换为二进制数(续)十进制数转换为二进制数(续):小数部分小数部分:(1)将十进制小数乘以)将十进制小数乘以2,所得乘积的整数部分(,所得乘积的整数部分(0或或1)即为对应二)即为对应二进制小数最高位的值;进制小数最高位的值;(2)将上次所得乘积的小数部分再乘以)将上次所得乘积的小数部分再乘以2,所得乘积的整数部分即为,所得乘积的整数部分即为对应二进制小数次高位的值;对应二进制小数次高位的值;(3)重复执行第()重复执行第(2)步的操作,直到乘积的小数部分为)步的操作,直到乘积的小数部分为0或所得小数或所得小数部分已满足精度要求时为止。部分已满足精度要求时为止。例:例:(0.6875)10=

10、(0.1011)2 乘积的整数部分即乘积的整数部分即 二进制数的小数部分二进制数的小数部分 十进制数十进制数 的小数部分的小数部分 乘以乘以 2 0.6875(2 高位 1 0.3750(2 0 0.7500(2 1 0.5000(2 低位 1 0.0000 2008.112008.11精选ppt11二进制数与八进制数的相互转换二进制数与八进制数的相互转换 八进制数的二进制编码八进制数的二进制编码:3位二进制数对应于位二进制数对应于1 位八进制数位八进制数2008.112008.11精选ppt12二进制数与八进制数的相互转换(续)二进制数与八进制数的相互转换(续)二进制数转换为八进制数:二进制

11、数转换为八进制数:3位二进制数对应于位二进制数对应于1 位八进制数,转换算法非常简单:位八进制数,转换算法非常简单:(1)以小数点为分界线,分别向左和向右每)以小数点为分界线,分别向左和向右每 3 位看作一组位看作一组。注意,遇到不足注意,遇到不足3 位时将其补足位时将其补足3 位,向左扩展时向高位补位,向左扩展时向高位补 0,向右,向右扩展时向低位补扩展时向低位补 0。(2)把每一组的二进制码替换为对应的八进制码。)把每一组的二进制码替换为对应的八进制码。例例:2008.112008.11精选ppt13二进制数与八进制数的相互转换(续)二进制数与八进制数的相互转换(续)八进制数转换为二进制数

12、:八进制数转换为二进制数:(1)以小数点为分界线,分别向左和向右对每一八进制)以小数点为分界线,分别向左和向右对每一八进制码进行转换。码进行转换。(2)把每一八进制码替换为对应的二进制码。)把每一八进制码替换为对应的二进制码。注意注意,转换后的二进制码必须是,转换后的二进制码必须是 3 位,例如位,例如 28应转换为应转换为0102,而不是,而不是102。例例:2008.112008.11精选ppt14二进制数与十六进制数的相互转换二进制数与十六进制数的相互转换 十六进制数的二进制编码十六进制数的二进制编码:4位二进制数对应于位二进制数对应于1 位十六进制数位十六进制数2008.112008.

13、11精选ppt15二进制数与十六进制数的相互转换(续)二进制数与十六进制数的相互转换(续)二进制数转换为十六进制数:二进制数转换为十六进制数:4位二进制数对应于位二进制数对应于1 位十六进制数,转换算法非常简单:位十六进制数,转换算法非常简单:(1)以小数点为分界线,分别向左和向右每)以小数点为分界线,分别向左和向右每 4 位看作一组位看作一组。注意注意:遇到不足:遇到不足4 位时将其补足位时将其补足4 位,向左扩展时向高位补位,向左扩展时向高位补 0,向右,向右扩展时向低位补扩展时向低位补 0。(2)把每一组的二进制码替换为对应的十六进制码。)把每一组的二进制码替换为对应的十六进制码。例例:

14、2008.112008.11精选ppt16二进制数与十六进制数的相互转换(续)二进制数与十六进制数的相互转换(续)十六十六进制数转换为二进制数:进制数转换为二进制数:(1)以小数点为分界线,分别向左和向右对每一十六进)以小数点为分界线,分别向左和向右对每一十六进制码进行转换。制码进行转换。(2)把每一十六进制码替换为对应的二进制码。)把每一十六进制码替换为对应的二进制码。注意注意,转换后的二进制码必须是,转换后的二进制码必须是 4 位,位,例如例如316 应转换应转换为为00112,而不是,而不是112。例例:2008.112008.11精选ppt17十进制数的二进制编码十进制数的二进制编码

15、用二进制代码表示十进制数称为用二进制代码表示十进制数称为二二 十进制码十进制码或或BCD码(码(Binary Coded Decimal,BCD)。)。4位二进制代码可以代表位二进制代码可以代表24=16种状态,而十进制数只种状态,而十进制数只需要需要10种状态,因此需要舍弃其中种状态,因此需要舍弃其中6种状态不用。种状态不用。8421码码:8421分别代表各位的权值。分别代表各位的权值。最高位的权值为最高位的权值为8、次高位为、次高位为4、再次为、再次为2、最低位为、最低位为1。2008.112008.11精选ppt18十进制数的二进制编码(续)十进制数的二进制编码(续)余余3码:是一种无权

16、码码:是一种无权码。二二进进制制 编编码码 对对应应的的 十十进进制制数数 0000 舍弃不用 0001 舍弃不用 0010 舍弃不用 0011 0 0100 1 0101 2 0110 3 0111 4 1000 5 1001 6 1010 7 1011 8 1100 9 1101 舍弃不用 1110 舍弃不用 1111 舍弃不用 互为反码 2008.112008.11精选ppt19十进制数的二进制编码(续)十进制数的二进制编码(续)十进制数的有权编码示例十进制数的有权编码示例:2008.112008.11精选ppt20格雷码格雷码 格雷码是一种无权码,其格雷码是一种无权码,其特点为特点为任

17、何任何2个相邻的代码个相邻的代码之间只在某之间只在某1位上取值不同位上取值不同。此特点在某些场合特别有此特点在某些场合特别有用,可以减少代码变换过用,可以减少代码变换过程中发生错误的机会,是程中发生错误的机会,是一种高可靠性编码。一种高可靠性编码。右图为右图为二进制数反射二进制数反射格雷格雷码。码。反射码和二进制数之间反射码和二进制数之间的对应关系:的对应关系:二进制数二进制数 b3b2b1b0 格雷码格雷码 g3g2g1g0 0000 0000 0001 0001 0010 0011 0011 0010 0100 0110 0101 0111 0110 0101 0111 0100 1000

18、 1100 1001 1101 1010 1111 1011 1110 1100 1010 1101 1011 1110 1001 1111 1000 )(441iiibbg2008.112008.11精选ppt21格雷码(续)格雷码(续)十进制数反射格雷码示例:十进制数反射格雷码示例:十十进进制制数数 格格雷雷码码 0 0000 1 0001 2 0011 3 0010 4 0110 5 1110 6 1010 7 1011 8 1001 9 1000 2008.112008.11精选ppt22字符编码字符编码 数字系统中,数字系统中,0和和1不仅可以代表数字,而且可以进行不仅可以代表数字,

19、而且可以进行组合用于表示字母、运算符以及控制符等。组合用于表示字母、运算符以及控制符等。为了在各种数字系统之间方便地交换信息,必须使用为了在各种数字系统之间方便地交换信息,必须使用统一的编码方案,目前被广泛使用的是统一的编码方案,目前被广泛使用的是ASCII码。码。(American Standard Code for Information Interchange)ASCII码由码由7位二进制代码组成,共位二进制代码组成,共27=128个字符:个字符:英文字母英文字母:大写、小写字母各:大写、小写字母各26个,共个,共52个;个;数字数字(0 9):):10个;个;专用符号专用符号:34个;

20、个;控制符号控制符号:32个。个。2008.112008.11精选ppt23字符编码字符编码 ASCII码码2008.112008.11精选ppt24奇偶校验码奇偶校验码 奇偶校验编码的规则:奇偶校验编码的规则:奇校验编码:编码结果中含奇数个奇校验编码:编码结果中含奇数个1。偶校验编码:编码结果中含偶数个偶校验编码:编码结果中含偶数个1。例:例:原始数据 b6b5b4b3b2b1b0 奇校验编码结果 b7b6b5b4b3b2b1b0 偶校验编码结果 b7b6b5b4b3b2b1b0 0000000 10000000 00000000 1111111 01111111 11111111 0101

21、010 00101010 10101010 1110001 11110001 01110001 2008.112008.11精选ppt25奇偶校验码(续)奇偶校验码(续)奇偶校验码是一种最简单的、能发现某些错误的编码奇偶校验码是一种最简单的、能发现某些错误的编码。应用举例:信息发送应用举例:信息发送/接收过程中采用偶校验检错接收过程中采用偶校验检错:2008.112008.11精选ppt26奇偶校验码(续)奇偶校验码(续)以偶校验编码为例以偶校验编码为例,说明,说明数据编码、传送及检错数据编码、传送及检错的过程:的过程:发送方给原始数据发送方给原始数据b6b5b4b3b2b1b0增加增加1个偶

22、校验位个偶校验位b7,构成,构成 8位位的偶校验编码。的偶校验编码。b7=b6 b5 b4 b3 b2 b1 b0 (4-5)发送方把发送方把8位的偶校验编码位的偶校验编码b7b6b5b4b3b2b1b0发送出去。发送出去。接收方收到接收方收到8位的偶校验编码位的偶校验编码 b7b6b5b4b3b2b1b0。接收方校验电路的输出信号为接收方校验电路的输出信号为check,用来检查,用来检查8位数据中取值位数据中取值为为1的个数是否为偶数:的个数是否为偶数:check=b7 b6 b5 b4 b3 b2 b1 b0 (4-6)若为偶数(若为偶数(check=0),表明数据传送过程中没有发生错误,

23、简单),表明数据传送过程中没有发生错误,简单地将偶校验位去掉即得原始数据;地将偶校验位去掉即得原始数据;若为奇数(若为奇数(check=1),表明数据传送过程中发生错误,接收方发),表明数据传送过程中发生错误,接收方发出报警信号。出报警信号。2008.112008.11精选ppt27奇偶校验码(续)奇偶校验码(续)偶校验的形成及校验电路偶校验的形成及校验电路:根据式(根据式(4-5)可以得到发送方的偶校验位()可以得到发送方的偶校验位(b7)形成电路;)形成电路;根据式(根据式(4-6)可以得到接收方的偶校验()可以得到接收方的偶校验(check)电路)电路 b6 b5 b4 b3 b2 b1

24、 b0 b7 b6 b5 b4 b3 b2 b1 b0 check b7(b)接收方(a)发送方 2008.112008.11精选ppt28 输 入 输 出 a i b i c i sum i c i+1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 a i b i iiiiiiiiiiicbcabaccbasum1(a)符号图 (b)真值表与布尔表达式 (c)原理图 sum i c i+1 c i a i b i full_adder sum i c i+1 c i 4.2无符号

25、数的加法运算无符号数的加法运算 无符号数代表数的绝对值,或者是省略了符号的正数。无符号数代表数的绝对值,或者是省略了符号的正数。1 位全加器的实现位全加器的实现:2008.112008.11精选ppt294位行波进位加法器位行波进位加法器 优点优点:结构简单、造价较低;:结构简单、造价较低;缺点缺点:进位信号由低位向高位逐级传递,当加法器的长度:进位信号由低位向高位逐级传递,当加法器的长度 n 较大时较大时 (例如(例如32或或64),进位信号的传播延时很大),进位信号的传播延时很大。改进改进思路:思路:先行进位加法器先行进位加法器 进位链进位链。2008.112008.11精选ppt30加法

26、器的先行进位加法器的先行进位进位链进位链2008.112008.11精选ppt31加法器的先行进位加法器的先行进位进位链进位链(续)(续)实例:实例:4位加法器中每一位(位加法器中每一位(i=0 3)的进位信号分析:)的进位信号分析:2008.112008.11精选ppt32 a 2 b 2 a 1 b 3 a 3 b 1 a 0 b 0 c 2 c 4 c 3 c 1 c 0 g 2 g 3 g 1 p 2 p 3 p 1 g 0 p 0 4 位加法器的先行进位位加法器的先行进位进位链进位链(续)(续)根据布尔表达式(根据布尔表达式(4-8)、()、(4-9)、()、(4-10)和()和(4

27、-11)画出先行进)画出先行进位链的原理图。位链的原理图。2008.112008.11精选ppt334 位加法器的先行进位位加法器的先行进位进位链进位链(续)(续)符号图:符号图:分析:分析:低位进位信号低位进位信号c 0 到达进位链输出端(到达进位链输出端(c4,c3,c2,c1)所经历的传播)所经历的传播路径长度大体相同,因而延迟时间也大体相同。路径长度大体相同,因而延迟时间也大体相同。对于处于相对高位的对于处于相对高位的c4 来说,其延迟时间缩小!来说,其延迟时间缩小!随着随着 i 的增大,的增大,c i 的布尔表达式复杂度增大,相应电路的复杂度也增的布尔表达式复杂度增大,相应电路的复杂

28、度也增大,因此这种把大,因此这种把c i逐级展开的方法不可能无限制地继续下去。逐级展开的方法不可能无限制地继续下去。当加法器的长度当加法器的长度n 较大时,可将其分组,组与组之间可以采用行波较大时,可将其分组,组与组之间可以采用行波进位的方法,或在组间也采用先行进位的方法。进位的方法,或在组间也采用先行进位的方法。2008.112008.11精选ppt34 4位先行进位加法器位先行进位加法器 sum 3 c 3 a 3 b 3 full_adder sum 2 c 2 a 2 b 2 full_adder sum 1 c 1 a 1 b 1 full_adder sum 0 c 0 a 0 b

29、 0 full_adder 先先 行行 进进 位位 链链 c 0 a 3 b3 a 2 b2 a 1 b1 a 0 b0 c 1 c 2 c 3 c 4 c 4 a 3 b3 a 2 b2 a 1 b1 a 0 b0 sum 3 sum 2 sum 1 sum 0 2008.112008.11精选ppt35BCD 码形式的十进制数加法运算码形式的十进制数加法运算 例例:1位位 8421码十进制数加法器码十进制数加法器 手工设计手工设计:有多种方法可供选择,例如有多种方法可供选择,例如 列出真值表,写出相应的布尔表达式,最后导出电路图列出真值表,写出相应的布尔表达式,最后导出电路图。(由于输入变

30、量个数多达(由于输入变量个数多达9个,此设计过程可能比较繁琐)个,此设计过程可能比较繁琐)借助普通的二进制数加法器,再加上辅助的修正电路构成目借助普通的二进制数加法器,再加上辅助的修正电路构成目标电路标电路。2008.112008.11精选ppt36例例:1位位8421码十进制数加法器码十进制数加法器 图图4.9 初步设想初步设想:2008.112008.11精选ppt37例例:1位位8421码十进制数加法器(续)码十进制数加法器(续)校正条件分析校正条件分析:输入变量输入变量X和和Y的取值为(的取值为(0 9),再加上可能存在的低位),再加上可能存在的低位进位进位cin,因而加法运算结果的取

31、值范围为(,因而加法运算结果的取值范围为(0 19)。)。由于普通的由于普通的4位二进制数加法器是逢位二进制数加法器是逢16进位,而十进制数加法进位,而十进制数加法器是逢器是逢10进位,因而需要对进位,因而需要对4_adder_1的输出(的输出(Z和和c)进行修)进行修正,正,修正的具体要求见表修正的具体要求见表4.11(见下页)。仔细分析表(见下页)。仔细分析表4.11可以得可以得出出校正的判别条件校正的判别条件和应采取的和应采取的校正措施校正措施:2008.112008.11精选ppt38例例:1位位8421码十进制数加法器(续)码十进制数加法器(续)表表4.114.112008.1120

32、08.11精选ppt39图图4.9的改进的改进 图图4.9中的多路器可以省略,改进后的方案示于图中的多路器可以省略,改进后的方案示于图4.10。2008.112008.11精选ppt40图图4.10的改进的改进 图图4.10中起校正作用的二进制数加法器中起校正作用的二进制数加法器4_adder_2只是实现加只是实现加6(即二进制代码(即二进制代码0110)或加)或加0的运算,其长度可以缩短,改进后的的运算,其长度可以缩短,改进后的方案示于图方案示于图4.11。2008.112008.11精选ppt41一个一个3位十进制数加法器的实例位十进制数加法器的实例 2008.112008.11精选ppt

33、42启启 示示 想通过想通过手工设计手工设计得到一个理想的结果,十分不易。得到一个理想的结果,十分不易。精心设计和一般练习的效果大不相同精心设计和一般练习的效果大不相同。通过通过EDA工具设计工具设计数字电路省时省力。数字电路省时省力。EDA工具提供的库元件一般都是精心制作的佳品。工具提供的库元件一般都是精心制作的佳品。2008.112008.11精选ppt43 原码原码 二进制数二进制数 补码补码 反码反码 有符号定点数有符号定点数 原码原码 十进制数十进制数 补码补码 4.3有符号数的表示方法和算术运算有符号数的表示方法和算术运算 有符号定点数有符号定点数的编码方法的编码方法:定点数:小数

34、点的位置固定,常用的定点数:小数点的位置固定,常用的2种形式是:种形式是:小数点放在最低位之后,这种形式表示的是整数。小数点放在最低位之后,这种形式表示的是整数。小数点放在最高位之前,这种形式表示的小数。小数点放在最高位之前,这种形式表示的小数。从数学的观点出发,这从数学的观点出发,这2种形式没有本质的差别,仅仅相差一种形式没有本质的差别,仅仅相差一个比例系数。以下叙述中把小数点放在最低位之后,符号位个比例系数。以下叙述中把小数点放在最低位之后,符号位放在最高位之前。放在最高位之前。2008.112008.11精选ppt44 符号位 0 代表正 1 代表负 数值部分(绝对值)二进制定点数的原码

35、表示形式二进制定点数的原码表示形式 小数点的位置只是一种约定,并不需要专门的硬件作小数点的位置只是一种约定,并不需要专门的硬件作标记。标记。2008.112008.11精选ppt45 取出X原,Y原|X|Y|?求出 R=|X|+|Y|求出|X|,|Y|是 否 否 在 R 的最高位处添加上 X原的符号位,得X+Y原 是 求出 R=|Y|-|X|求出 R=|X|-|Y|符号位相同?在 R 的最高位处添加上 Y原的符号位,得X+Y原 运算过程过于复杂,很少应用运算过程过于复杂,很少应用 二进制定点数的原码表示形式(续)二进制定点数的原码表示形式(续)原码加法流程图原码加法流程图:2008.11200

36、8.11精选ppt46二进制定点数的补码表示形式二进制定点数的补码表示形式 设二进制定点数设二进制定点数X的表示形式为:的表示形式为:X=0 x n-2 x n-3x ix 0 (字长(字长 n 位,最高位为位,最高位为 0)由由X求求X补补的规则的规则:当当X为正数时,为正数时,X补补=X=0 x n-2 x n-3x ix 0当当X为负数时,为负数时,(按位求反后末位加(按位求反后末位加1)由以上规则求出的由以上规则求出的X补补的的最高位为符号位最高位为符号位:符号位为符号位为 0 代表正数;代表正数;符号位为符号位为 1 代表负数。代表负数。1x.x.xx0X032inn补2008.11

37、2008.11精选ppt47二进制定点数的补码表示形式(续)二进制定点数的补码表示形式(续)由由X求求X补补举例:举例:【例【例4.1】:】:X=+01101,求,求X补补:X为正数,为正数,X补补=X=01101【例【例4.2】:】:X=01101,求,求X补补:X为负数,为负数,第第1步:对步:对X按位求反:按位求反:01101 10010第第2步:末位加步:末位加1:10010 100112008.112008.11精选ppt48二进制定点数的补码表示形式(续)二进制定点数的补码表示形式(续)由由X补补求求X的规则:的规则:X补补的符号位为的符号位为0(正数)时,(正数)时,X补补=X(

38、二者相同)(二者相同)X补补的符号位为的符号位为1(负数)时,求(负数)时,求X分分2步走:步走:第第1步:包括符号位在内按位求反;步:包括符号位在内按位求反;第第2步:在第步:在第1步的结果上末位加步的结果上末位加 1,再在数值前添加负号。,再在数值前添加负号。【例【例4.3】:】:X补补=10011,求,求X:第第1步:包括符号位在内按位求反:步:包括符号位在内按位求反:10011 01100 第第2步:末位加步:末位加1,再添负号:,再添负号:01100 011012008.112008.11精选ppt49补码的加法运算补码的加法运算 补码加法运算规则补码加法运算规则:补码加法中的补码加

39、法中的“溢出溢出”问问题题:【例】:【例】:X=01011,Y=01000 X补补=01011,Y补补=01000执行补码加法:执行补码加法:X+Y补补=01011+01000 =10011 结果不正确结果不正确,因为,因为2个正数相加个正数相加的结果绝不应该是负数!的结果绝不应该是负数!分析分析原因原因:本例字长本例字长 5 位,而本例的位,而本例的(X+Y)超过了字长所能表示的范围。超过了字长所能表示的范围。取出X补,Y补 X补+Y补 结果为X+Y补 若最高位有进位 将其舍去 X补和Y补 的符号位同 样参加运算 2008.112008.11精选ppt50补码加法运算(续)补码加法运算(续)

40、发现发现“溢出溢出”的方法的方法(方法之一):(方法之一):把操作数把操作数X补补和和Y补补的符号位向左扩展的符号位向左扩展1位,并且新扩展的位,并且新扩展的符号位与原来的符号位取值相同。即符号位与原来的符号位取值相同。即 X补补和和Y补补的字长由的字长由原来的原来的 n 位扩展到(位扩展到(n+1)位。)位。补码加法运算规则不变,即补码中各位(包括补码加法运算规则不变,即补码中各位(包括2个符号位在个符号位在内)按照同样规则参加运算。内)按照同样规则参加运算。1.若运算结果的若运算结果的 2个符号位取值不同,表示运算结果个符号位取值不同,表示运算结果“溢出溢出”(应当发出报警信号);否则运算

41、结果正常。(应当发出报警信号);否则运算结果正常。2008.112008.11精选ppt51补码加法运算(续)补码加法运算(续)补码加法示例:补码加法示例:X补 00 1001 (9)10 Y补 00 0011 (3)10 X补+Y补 00 1100 (12)10 运算结果中的 2 个符号位取值相同,情况正常 操作数中的符号位和其它位同样参加运算,本例的最高位处没有产生进位 2008.112008.11精选ppt52补码加法运算(续)补码加法运算(续)补码加法示例:补码加法示例:X补 001001 (9)10 Y补 001010 (10)10 X补+Y补 010011 (19)10,超出约定范

42、围 运算结果中 2 个符号位取值不同,发生“溢出”符号位同样参加运算,本例的最高位处没有产生进位 2008.112008.11精选ppt53补码加法运算(续)补码加法运算(续)补码加法示例:补码加法示例:X补 111001 (7)10 Y补 001010 (10)10 X补+Y补 000011 (3)10 运算结果中 2 个符号位取值相同,情况正常 最高位发生进位,简单地舍去即可 2008.112008.11精选ppt54补码加法运算(续)补码加法运算(续)一个补码加法器的实例一个补码加法器的实例:2008.112008.11精选ppt55补码的减法运算补码的减法运算 补码减法运算规则:补码减

43、法运算规则:为了发现运算过程中为了发现运算过程中是否发生是否发生“溢出溢出”,继续采用双符号位的继续采用双符号位的补码形式。补码形式。表示对表示对Y补补执执行求补操作,即行求补操作,即 第第1步:包括符号步:包括符号位在内按位求反;位在内按位求反;第第2步:末位加步:末位加1。取出X补,Y补 结果为XY补 若最高位有进位 将其舍去 X补,Y补 的符号位同 样参加运算 补补补YX 由Y补求Y补|补:末位加 1 Y补按位求反 补补Y2008.112008.11精选ppt56 s4 s3 s2 s1 s0 x4 x3 x2 x1 x0 y4 y3 y2 y1 y0 s4 s3 s2 s1 s0 X补

44、(3.0)Y补(3.0)5bit_adder sub_add overflow sub_ add=1 时,做减法;sub_ add=0 时,做加法。一个补码加法一个补码加法/减法器的实例减法器的实例 由于由于补码加法与补码减法的流程相差甚少补码加法与补码减法的流程相差甚少,唯一的差别是补码减,唯一的差别是补码减法操作中需要对法操作中需要对Y补补多作一次求补操作。多作一次求补操作。2008.112008.11精选ppt57 s4 s3 s2 s1 s0 x4 x3 x2 x1 x0 y4 y3 y2 y1 y0 s4 s3 s2 s1 s0 X补(3.0)Y补(3.0)5bit_adder su

45、b_add overflow sub_ add=1 时,做减法;sub_ add=0 时,做加法。一个补码加法一个补码加法/减法器的实例减法器的实例 由于由于补码加法与补码减法的流程相差甚少补码加法与补码减法的流程相差甚少,唯一的差别是补码减,唯一的差别是补码减法操作中需要对法操作中需要对Y补补多作一次求补操作。多作一次求补操作。广泛应用!广泛应用!2008.112008.11精选ppt58二进制定点数的反码表示形式二进制定点数的反码表示形式 由由X求求X反反的规则:的规则:X为正数时为正数时,X反反=X=0 x n-2 x n-3x i x 0 X为负数时为负数时,由以上规则求出的由以上规则

46、求出的X反反的最高位为符号位,符号位为的最高位为符号位,符号位为0代表正数,代表正数,符号位为符号位为1代表负数。代表负数。【例【例4.8】:】:X=+01101,求,求X反反:X为正数,为正数,X反反=X=01101【例【例4.9】:】:X=01101,求,求X反反:X为负数,为负数,X反反=10010 (按位求反)(按位求反)032x.x.xx0Xinn反2008.112008.11精选ppt59二进制定点数的反码表示形式二进制定点数的反码表示形式 由由X反反求求X的规则:的规则:X反反的符号位为的符号位为 0(正数)时,(正数)时,X反反=X(二者相同)(二者相同)X反反的符号位为的符号

47、位为 1(负数)时,将(负数)时,将X反反按位求反,再在数值前按位求反,再在数值前面添加负号面添加负号“”。【例【例4.10】:】:X反反=10011,求,求X:第第1步:包括符号位在内按位求反:步:包括符号位在内按位求反:10011 01100 第第2步:在数值前面添加负号:步:在数值前面添加负号:01100 011002008.112008.11精选ppt60反码的加法运算反码的加法运算 为便于判断为便于判断“溢出溢出”,也采用双符号位。,也采用双符号位。取出X反,Y反 X反+Y反 结果为X+Y反 若最高位有进位,将其送至最低位再次相加 X反和Y反 的符号位同 样参加运算 2008.112

48、008.11精选ppt61 X反 11111010 (5)10 Y反 1111 1001 (6)10 X反+Y反 1 11 1 0011 1 11 1 0011 1 X+Y反=1 11 1 0100 (11)10 最高位发生进位,送到末位再次相加 反码加法示例反码加法示例 设设 X=(5)10=(0101)2,Y=(6)10=(0110)2,求求X+Y反反 双符号位双符号位 X反反=111010,Y反反=1110012008.112008.11精选ppt62反码的减法运算反码的减法运算 X反和Y反|反 的符号位同 样参加运算 X反+Y反|反 结果为XY反 若最高位有进位,将其送至最低位再次相加

49、 取出X反,Y反 Y反|反:=对Y反按位求反 2008.112008.11精选ppt63 X反 11111010 (5)10 Y反|反:0000 0110 (6)10 X反+Y反|反:0000 0000 0000 0000 1 XY反=0000 0001 (1)10 最高位发生进位,送到末位再次相加 反码减法运算示例反码减法运算示例设设X=(5)10=(0101)2,Y=(6)10=(0110)2,求求XY反反 双符号位表示,双符号位表示,X反反=111010,Y反反=111001,:,:手工计算的准备工作:手工计算的准备工作:Y反反|反反=000110;2008.112008.11精选ppt

50、644.4用用EDA工具设计算术运算电路示例工具设计算术运算电路示例 补码形式的加法补码形式的加法/减法器:减法器:输入信号:输入信号:x(3.0)和和y(3.0)是补码形式的有符号二进制数(是补码形式的有符号二进制数(1个符号位)个符号位),sub_add是加法是加法/减法的控制信号。减法的控制信号。输出信号:输出信号:s(3.0)代表运算结果,是补码形式的有符号二进制数(代表运算结果,是补码形式的有符号二进制数(1个符号位);个符号位);overflow是溢出报警信号。是溢出报警信号。2008.112008.11精选ppt65补码形式的加法补码形式的加法/减法器(续)减法器(续)VHDL行

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(《数字逻辑设计》cha4课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|