收藏 分销(赏)

定点计算详解--计算机深入学习.ppt

上传人:pc****0 文档编号:13175360 上传时间:2026-01-29 格式:PPT 页数:89 大小:4.63MB 下载积分:10 金币
下载 相关 举报
定点计算详解--计算机深入学习.ppt_第1页
第1页 / 共89页
定点计算详解--计算机深入学习.ppt_第2页
第2页 / 共89页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,From:,新闻,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,From:,新闻,*,For:,分类信息,第,章 计算机的运算方法,6.1 无符号数和有符号数,6.3 定点运算,6.2 数的定点表示和浮点表示,6.4 浮点四则运算,6.5 算术逻辑单元,From:,新闻,6.1 无符号数和有符号数,一、无符号数,寄存器的位数,反映无符号数的表示范围,8 位 0 255,16 位 0 65535,From:,新闻,带符号的数 符号数字化的数,+,0.1011,0,1011,小数点的位置,+,1100,0,1100,小数点的位置,1100,1,1100,小数点的位置,0.1011,1,1011,小数点的位置,真值 机器数,1.机器数与真值,二、有符号数,6.1,From:,新闻,2.原码表示法,带符号的绝对值表示,(1)定义,整数,x,为真值,n,为整数的位数,如,x,=+1110,x,原,=0,1110,x,原,=2,4,+1110=1,1110,x,=,1110,x,原,=,0,,x,2,n,x,0,2,n,x,0,x,2,n,用,逗号,将符号位,和数值部分隔开,6.1,From:,新闻,小数,x,为真值,如,x,=+0.1101,x,原,=0.1101,x,=0.1101,x,原,=1 (0.1101)=1.1101,x,1,x,0,x,原,=,1,x,0,x,1,x,=0.1000000,x,原,=1 (0.1000000)=1.1000000,x,=,+0.1000000,x,原,=0.1000000,用,小数点,将符号,位和数值部分隔开,用,小数点,将符号,位和数值部分隔开,6.1,From:,新闻,(2)举例,例 6.1 已知,x,原,=1.0011 求,x,解:,例 6.2 已知,x,原,=1,1100,求,x,解:,x,=1,x,原,=1,1.0011=0.0011,x,=2,4,x,原,=10000 1,1100=1100,0.0011,1100,由定义得,由定义得,6.1,From:,新闻,例 6.4,求,x,=0,的原码,解:,设,x,=+,0.0000,例 6.3 已知,x,原,=0.1101 求,x,解:,x,=+,0.1101,同理,对于整数,+0,原,=0,0000,+,0.0000,原,=0.0000,x,=,0.0000,0.0000,原,=1.0000,0,原,=1,0000,+,0,原,0,原,根据 定义 ,x,原,=0.1101,6.1,From:,新闻,原码的特点:,简单、直观,但是用原码作加法时,会出现如下问题:,能否,只作加法,?,找到一个与负数等价的正数,来代替这个负数,就可使,减 加,加法 正 正,加,加法 正 负,加法 负 正,加法 负 负,减,减,加,要求,数1 数2,实际操作 结果符号,正,可正可负,可正可负,负,6.1,From:,新闻,-12,3,(1)补的概念,时钟,逆时针,-3,6,3,顺时针,+9,6,15,3.补码表示法,可见 3 可用+9 代替,记作 3 +9(,mod 12),同理 4 +8(,mod 12),5 +7(,mod 12),时钟以,12为模,减法 加法,6.1,称+9 是,3,以 12 为模的,补数,From:,新闻,结论,一个负数加上,“模”,即得该负数的补数,一个正数和一个负数互为补数时,它们绝对值之和即为,模,数,计数器,(模 16),1011,1011,0000,+0101,1011,10000,1011 0000?,可见 1011 可用+0101 代替,同理 011,0.1001,自然去掉,6.1,记作 1011,(,mod 2,4,),+0101,(,mod 2,3,),+101,(,mod 2),+1.0111,From:,新闻,+,0101(,mod2,4,),1011,(,mod2,4,),(2)正数的补数即为其本身,+,10000,+,10000,两个互为补数的数,+0101,+10101,分别加上模,结果仍互为补数,+0101 +0101,+0101,2,4+1,1011,1,0101,用,逗号,将符号位,和数值部分隔开,丢掉,1011,0,1,?,?,1011,(,mod2,4,),可见,?,+0101,0101,0101,1011,0101,+,(mod2,4+1,),6.1,100000,=,From:,新闻,(3)补码定义,整数,x,为真值,n,为整数的位数,x,补,=,0,,x,2,n,x,0,2,n,+1,+,x,0,x,2,n,(mod 2,n,+1,),如,x,=+1010,x,补,=2,7+1,+(1011000),=,x,补,=0,1010,x,=1011000,1,0101000,用,逗号,将符号位,和数值部分隔开,6.1,1011000,100000000,From:,新闻,小数,x,为真值,x,=+0.1110,x,补,=,x,1,x,0,2+,x,0,x,1(mod 2),如,x,补,=0.1110,x,=0.1100000,1.0100000,x,补,=2,+,(0.1100000),=,用,小数点,将符号位,和数值部分隔开,6.1,0.1100000,10.0000000,From:,新闻,(4)求补码的快捷方式,=100000,=1,0110,10101+1,=1,0110,又,x,原,=1,1010,则,x,补,=2,4+1,1010,=11111+1 1010,=11111,1010,1010,当真值为,负,时,,补码,可用,原码除符号位外,每位取反,末位加 1 求得,6.1,+1,设,x,=1010,时,From:,新闻,(5)举例,解:,x,=+0.0001,解:由定义得,x,=,x,补,2,=1.0001 10.0000,x,原,=1.1111,例 6.6 已知,x,补,=1.0001,求,x,x,补,x,原,?,由定义得,6.1,例 6.5 已知,x,补,=0.0001,求,x,x,=0.1111,=0.1111,From:,新闻,例 6.7,解:,x,=,x,补,2,4+1,=1,1110 100000,x,原,=1,0010,当真值为,负,时,,原码,可用,补码除符号位外,每位取反,末位加 1 求得,x,补,x,原,?,x,=0010,=0010,求,x,已知,x,补,=1,1110,由定义得,6.1,From:,新闻,真值,0,1000110,1,0111010,0.1110,1.0010,0.0000,0.0000,1.0000,0,1000110,1,1000110,0.1110,1.1110,0.0000,1.0000,不能表示,练习,求下列真值的补码,1,补,=2+,x,=10.0000 1.0000=,1.0000,+0,补,=0,补,由小数补码定义,=1000110,x,补,x,原,6.1,x,=+70,x,=0.1110,x,=0.0000,x,=70,x,=0.1110,x,=0.0000,x,=1.0000,=1000110,x,补,=,x,1,x,0,2+,x,0,x,1(mod 2),From:,新闻,4.反码表示法,(1)定义,整数,x,反,=,0,,x,2,n,x,0,(2,n,+1,1)+,x,0 ,x,2,n,(mod 2,n,+1,1),如,x,=+1101,x,反,=0,1101,=1,0010,x,=1101,x,反,=(2,4+1,1)1101,=11111 1101,用,逗号,将符号位,和数值部分隔开,x,为真值,n,为整数的位数,6.1,From:,新闻,小数,x,=+0.1101,x,反,=,0.1101,x,=0.1010,x,反,=(2 2,-4,),0.1010,=1.1111,0.1010,=1.0101,如,x,反,=,x,1,x,0,(2,2,-,n,)+,x,0,x,1(mod 2 2,-,n,),用,小数点,将符号位,和数值部分隔开,x,为真值,6.1,n,为小数的位数,From:,新闻,(2)举例,例 6.10,求 0 的反码,设,x,=+,0.0000,+0.0000,反,=0.0000,解:,同理,对于整数,+0,反,=0,0000,例6.9 已知,x,反,=1,1110 求,x,例6.8 已知,x,反,=0,1110 求,x,解:,由定义得,x,=+1110,解:,6.1,=1,1110,11111,=,0001,由定义得,x,=,x,反,(2,4+1,1),x,=,0.0000,0.0000,反,=1.1111,0,反,=1,1111,+0,反,0,反,From:,新闻,三种机器数的小结,对于,正数,,,原码=补码=反码,对于,负数,,,符号位为 1,,其,数值部分,原码除符号位外每位取反末位加 1,补码,原码除符号位外每位取反 反码,最高位,为,符号位,,书写上用“,”(整数),或“.”(小数)将数值部分和符号位隔开,6.1,From:,新闻,例6.11,00000000,00000001,00000010,01111111,10000000,10000001,11111101,11111110,11111111,128,129,-0,-1,-128,-127,-127,-126,二进制代码,无符号数,对应的真值,原码对应,的真值,补码对应,的真值,反码对应,的真值,0,1,2,127,253,254,255,-125,-126,-127,-3,-2,-1,-2,-1,-0,+0,+1,+2,+127,+0,+1,+2,+127,+0,+1,+2,+127,6.1,+0,设机器数字长为 8 位(其中位为符号位),对于整数,当其分别代表无符号数、原码、补码和,反码时,对应的真值范围各为多少?,From:,新闻,例6.12,解:,已知,y,补,求,y,补,y,补,=0.,y,1,y,2,y,n,y,=0.,y,1,y,2,y,n,y,=0.,y,1,y,2,y,n,y,补,=1.,y,1,y,2,y,n,+2,-,n,y,补,=1.,y,1,y,2,y,n,y,原,=1,.,y,1,y,2,y,n,+2,-,n,y,=(0.,y,1,y,2,y,n,+2,-,n,),y,=0.,y,1,y,2,y,n,+2,-,n,y,补,=0.,y,1,y,2,y,n,+2,-,n,设,y,补,=,y,0,.,y,1,y,2,y,n,6.1,每位取反,,即得,y,补,y,补,连同符号位在内,,末位加 1,每位取反,,即得,y,补,y,补,连同符号位在内,,末位加 1,From:,新闻,5.移码表示法,补码表示很难直接判断其真值大小,如,十进制,x,=+21,x,=,21,x,=,+31,x,=,31,x,+,2,5,+10101+100000,+11111+100000,10101+100000,11111+100000,大,大,错,错,大,大,正确,正确,0,10101,1,01011,0,11111,1,00001,+10101,10101,+11111,11111,=110101,=001011,=111111,=000001,二进制,补码,6.1,From:,新闻,(1)移码定义,x,为真值,,n,为,整数的位数,移码在数轴上的表示,x,移码,2,n,+1,1,2,n,2,n,1,2,n,0,0,真值,如,x,=10100,x,移,=2,5,+10100,用,逗号,将符号位,和数值部分隔开,x,=,10100,x,移,=2,5,10100,x,移,=2,n,+,x,(2,n,x,2,n,),=1,10100,=0,01100,6.1,From:,新闻,(2)移码和补码的比较,设,x,=+1100100,x,移,=2,7,+1100100,x,补,=0,1100100,设,x,=,1100100,x,移,=2,7,1100100,x,补,=1,0011100,补码与移码只差一个符号位,=1,1100100,=0,0011100,1,0,0,1,6.1,From:,新闻,-1 0 0 0 0 0,-1 1 1 1 1,-1 1 1 1 0,-0 0 0 0 1,0 0 0 0 0,+0 0 0 0 1,+0 0 0 1 0,+1 1 1 1 0,+1 1 1 1 1,真值,x,(,n,=,5),x,补,x,移,x,移,对应的,十进制整数,(3)真值、补码和移码的对照表,0,1,2,31,32,33,34,62,63,0 0 0 0 0 0,0 0 0 0 1 0,0 0 0 0 0 1,0 1 1 1 1 1,1 0 0 0 0 0,1 0 0 0 0 1,1 0 0 0 1 0,1 1 1 1 1 0,1 1 1 1 1 1,0 1 1 1 1 1,0 1 1 1 1 0,0 0 0 0 1 0,0 0 0 0 0 1,0 0 0 0 0 0,1 1 1 1 1 1,1 0 0 0 1 0,1 0 0 0 0 1,1 0 0 0 0 0,-1 0 0 0 0 0,0 0 0 0 0,+1 1 1 1 1,0 0 0 0 0 0,1 1 1 1 1 1,0 0 0 0 0 0,1 0 0 0 0 0,6.1,From:,新闻,当,x,=0,时,+0,移,=2,5,+0,当,n,=5,时,可见,,最小真值的移码为全 0,(4)移码的特点,用移码表示浮点数的阶码,能方便地判断浮点数的阶码大小,=1,00000,=1,00000,=000000,6.1,0,移,=2,5,0,+0,移,=0,移,100000,移,=2,5,100000,最小的真值为 2,5,=,100000,From:,新闻,6.2 数的定点表示和浮点表示,小数点按约定方式标出,一、定点表示,S,f,S,1,S,2,S,n,数符,数值部分,小数点位置,S,f,S,1,S,2,S,n,数符,数值部分,小数点位置,或,定点机,小数定点机,整数定点机,原码,补码,反码,(1,2,-,n,)+(1 2,-,n,),(2,n,1)+(2,n,1),1,+(1,2,-,n,),2,n,+(2,n,1),(1,2,-,n,)+(1 2,-,n,),(2,n,1)+(2,n,1),From:,新闻,二、浮点表示,N,=,S,r,j,浮点数的一般形式,S,尾数,j,阶码,r,基数(基值),计算机中,r,取,2、4、8、16,等,当,r,=2,N,=11,.,0101,=0,.,1101012,10,=1,.,101012,1,=1101,.,012,-10,=0,.,001101012,100,计算机中,S,小数、可正可负,j,整数、可正可负,规格化数,二进制表示,6.2,From:,新闻,1.浮点数的表示形式,S,f,代表浮点数的符号,n,其位数反映浮点数的精度,m,其位数反映浮点数的表示范围,j,f,和,m,共同表示小数点的实际位置,6.2,j,f,j,1,j,2,j,m,S,f,S,1,S,2,S,n,j,阶码,S,尾数,阶符,数符,阶码的,数值部分,尾数的数值部分,小数点位置,From:,新闻,2.浮点数的表示范围,2,(,2,m,1),(1,2,n,),2,(,2,m,1),2,n,2,(,2,m,1),(1,2,n,),2,(,2,m,1),2,n,最小负数,最大负数,最大正数,最小正数,负数区,正数区,下溢,0,上溢,上溢,2,15,(1,2,-,10,),2,-,15,2,-,10,2,15,(1,2,-,10,),设,m,=4,n,=10,上溢 阶码 最大阶码,下溢 阶码 最小阶码 按,机器零,处理,6.2,2,-,15,2,-,10,From:,新闻,练习,设机器数字长为 24 位,欲表示3万的十进制数,试问在保证数的最大精度的前提下,除阶符、数符各 取1 位外,阶码、尾数各取几位?,满足,最大精度,可取,m,=4,,n,=18,解:,m,=4,,,5,,,6,,,15,位二进制数可反映 3 万之间的十进制数,2,15,=32768,2,14,=16384,6.2,2,15,0.,15位,From:,新闻,3.浮点数的规格化形式,r,=2,尾数最高位为,1,r,=4,尾数最高 2 位不全为 0,r,=8,尾数最高 3 位不全为 0,4.浮点数的规格化,r,=2,左规 尾数左移 1 位,阶码减 1,右规 尾数右移 1 位,阶码加 1,r,=4,左规 尾数左移 2 位,阶码减 1,右规 尾数右移 2 位,阶码加 1,r,=8,左规 尾数左移 3 位,阶码减 1,右规 尾数右移 3 位,阶码加 1,基数,r,越大,可表示的浮点数的范围越大,基数不同,浮点数的,规格化形式不同,基数,r,越大,浮点数的精度降低,6.2,From:,新闻,例如:,最大正数,=2,15,(1,2,10,),2,+1111,0.1111111111,10 个 1,最小正数,最大负数,最小负数,=2,15,2,1,=,2,15,(12,10,),=2,16,=,2,15,2,1,=,2,16,2,-1111,0.1000000000,9 个 0,2,-1111,(,0.1000000000),9 个 0,2,+1111,(,0.1111111111),10 个 1,设,m,=4,,n,=10,,,r,=2,尾数规格化后的浮点数表示范围,6.2,From:,新闻,三、举例,例 6.13 将+写成二进制定点数、浮点数及在定点机和浮点机中的机器数形式。其中数值部分均取 10 位,数符取 1 位,浮点数阶码取 5 位(含1位阶符)。,19,128,解:,设,x,=+,19,128,二进制形式,定点表示,浮点规格化形式,x,原,=1,0010;0.1001100000,x,补,=1,1110;0.1001100000,x,反,=1,1101;0.1001100000,定点机中,浮点机中,000,x,=0.0010011,x,=0.0010011,x,=0.1001100000,2,-10,x,原,=,x,补,=,x,反,=0.0010011000,6.2,From:,新闻,x,=,111010,0000,例 6.14,将,58,表示成二进制定点数和浮点数,,并写出它在定点机和浮点机中的三种机器数及阶码,为移码、尾数为补码的形式(其他要求同上例)。,解:,设,x,=,58,二进制形式,定点表示,浮点规格化形式,x,原,=1,0000111010,x,补,=1,1111000110,x,反,=1,1111000101,x,原,=0,0110;1.1110100000,x,补,=0,0110;1.0001100000,x,反,=0,0110;1.0001011111,定点机中,浮点机中,x,阶移、尾补,=1,0110;1.0001100000,x,=,111010,x,=,(0.1110100000),2,110,6.2,From:,新闻,例6.15,写出对应下图所示的浮点数的补码,形式。设,n,=10,,m,=4,,阶符、数符各取 1位。,负数区,正数区,下溢,0,上溢,上溢,2,(,2,m,1),(1,2,n,),2,(,2,m,1),(1,2,n,),2,(,2,m,1),2,n,最小负数,最大正数,最小正数,2,(,2,m,1),2,n,最大负数,解:,真值,最大正数,最小正数,最大负数,最小负数,2,15,(1,2,10,),2,15,2,10,2,15,2,10,2,15,(1,2,10,),0,1111;0.1111111111,1,0001;0.0000000001,1,0001;1.1111111111,0,1111;1.0000000001,补码,6.2,From:,新闻,当浮点数,尾数为 0,时,不论其阶码为何值,按机器零处理,机器零,当浮点数,阶码等于或小于它所表示的最小,数,时,不论尾数为何值,按机器零处理,如,m,=4,n,=10,当阶码用移码,尾数用补码表示时,机器零为,0,0 0 0 0;0.0 0 0,1,0 0 0 0,;,.,;,0.0 0 0,有利于机器中“判 0”电路的实现,当阶码和尾数都用补码表示时,机器零为,6.2,(阶码,=,16,),From:,新闻,四、,IEEE 754,标准,短实数,长实数,临时实数,符号位,S,阶码 尾数 总位数,1,8 23 32,1 11 52 64,1 15 64 80,S,阶码(含阶符)尾 数,数符,小数点位置,尾数为规格化表示,非“0”的有效位最高位为“1”(隐含),6.2,From:,新闻,6.3 定 点 运 算,一、移位运算,1.移位的意义,15,m=1500 cm,小数点右移 2 位,机器用语,15 相对于小数点,左移 2 位,(小数点不动),.,.,左移 绝对值扩大,右移 绝对值缩小,在计算机中,,移位与加减配合,能够实现乘除运算,From:,新闻,2.算术移位规则,1,右移,添,1,左移,添,0,0,反 码,补 码,原 码,负数,0,原码、补码、反码,正数,添补代码,码 制,符号位不变,6.3,From:,新闻,例6.16,设机器数字长为 8 位(含位符号位,),,写出,A,=+26,时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。,解:,A,=+26,则,A,原,=,A,补,=,A,反,=0,0011010,+,6,0,00,00110,+13,0,0,001101,+104,0,11010,00,+,52,0,011010,0,+26,0,0011010,移位前,A,原,=,A,补,=,A,反,对应的真值,机 器 数,移位操作,=+11010,6.3,左移一位,左移两位,右移一位,右移两位,From:,新闻,例6.17,设机器数字长为 8 位(含位符号位,),,写出,A,=,26,时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。,解:,A,=,26,6,1,00,00110,13,1,0,001101,104,1,11010,00,52,1,011010,0,26,1,0011010,移位前,对应的真值,机 器 数,移位操作,原码,=,11010,6.3,左移一位,左移两位,右移一位,右移两位,From:,新闻,6,1,11,11001,13,1,1,110010,104,1,00101,11,52,1,100101,1,26,1,1100101,移位前,对应的真值,机 器 数,移位操作,7,1,11,11001,13,1,1,110011,104,1,00110,00,52,1,100110,0,26,1,1100110,移位前,对应的真值,机 器 数,移位操作,补码,反码,6.3,左移一位,左移两位,右移一位,右移两位,左移一位,左移两位,右移一位,右移两位,From:,新闻,3.算术移位的硬件实现,(,a),真值为正,(,b),负数的原码,(,c),负数的补码,(,d),负数的反码,0,0,0,1,0,丢,1,丢,1,出错,影响精度,出错,影响精度,正确,影响精度,正确,正确,6.3,From:,新闻,4.算术移位和逻辑移位的区别,算术移位,有符号数的移位,逻辑移位,无符号数的移位,逻辑左移,逻辑右移,低位添 0,高位移丢,高位添 0,低位移丢,例如,01010011,逻辑左移,1010011,0,逻辑右移,0,1011001,算术左移,算术右移,0010011,0,11,011001,(补码),高位 1 移丢,0,1 0 1 0 0 1 1 0,C,y,0 1 0 1 0 0 1 1,0,0,10110010,6.3,From:,新闻,二、加减法运算,1.补码加减运算公式,(1)加法,(2)减法,整数,A,补,+,B,补,=,A,+,B,补,(,mod 2,n,+1,),小数,A,补,+,B,补,=,A,+,B,补,(,mod 2),A,B,=,A,+(,B,),整数,A,B,补,=,A,+(,B,),补,=,A,补,+,B,补,(,mod 2,n,+1,),小数,A,B,补,=,A,+(,B,),补,(,mod 2),连同符号位一起相加,符号位产生的进位自然丢掉,=,A,补,+,B,补,6.3,From:,新闻,2.举例,解:,A,补,B,补,A,补,+,B,补,+,=0.1 0 1 1,=1.1 0 1 1,=1 0.0 1 1 0,=,A,+,B,补,验证,例 6.18,设,A,=0.1011,,B,=,0.0101,求,A,+,B,补,0.1011,0.0101,0.0110,A,+,B,=0.0 1 1 0,A,补,B,补,A,补,+,B,补,+,=1,0 1 1 1,=1,1 0 1 1,=1 1,0 0 1 0,=,A,+,B,补,验证,1001,1110,0101,+,例 6.19,设,A,=,9,,,B,=5,求,A,+,B,补,解:,A,+,B,=,1110,6.3,From:,新闻,例 6.20,设机器数字长为 8 位(含 1 位符号位),且,A,=15,,B,=24,,用补码求,A,B,解:,A,=15,=0001111,B,=24,=0011000,A,补,+,B,补,+,A,补,=0,0001111,B,补,=1,1101000,=1,1110111,=,A,B,补,B,补,=0,0011000,练习 1,设,x,=,y,=,,用补码求,x,+,y,9,16,11,16,x,+,y,=,0.1100=,12,16,练习 2 设机器数字长为 8 位(含 1 位符号位),且,A,=,97,,,B,=+41,,用补码求,A,B,A,B,=+1110110=+118,A,B,=1001=9,错,错,6.3,From:,新闻,3.溢出判断,(1)一位符号位判溢出,参加操作的,两个数,(减法时即为被减数和“求补”,以后的减数),符号相同,,,其结果的符号与原操作,数的符号不同,,,即为溢出,硬件实现,最高有效位的进位 符号位的进位=1,如,1 0=1,0 1=1,有,溢出,0 0=0,1 1=0,无,溢出,6.3,溢出,From:,新闻,(2)两位符号位判溢出,x,补,=,x,1,x,0,4+,x,0,x,1,(mod 4),x,补,+,y,补,=,x,+,y,补,(,mod 4),x,y,补,=,x,补,+,y,补,(,mod 4),结果的双符号位,相同,未溢出,结果的双符号位,不同,溢出,最高符号位,代表其,真正的符号,00.,11.,1,0.,0,1.,00,11,1,0,0,1,6.3,From:,新闻,4.补码加减法的硬件配置,V,0,A,n,G,A,G,S,加法器(,n,+1),溢出,判断,求补控制,逻 辑,0,X,n,A、X,均,n,+1,位,用减法标记,G,S,控制求补逻辑,6.3,From:,新闻,三、乘法运算,1.分析笔算乘法,A,=,0.1101,B,=0.1011,A,B,=0.10001111,0.1 1 0 1,0.1 0 1 1,1 1 0 1,1 1 0 1,0 0 0 0,1 1 0 1,0.1 0 0 0 1 1 1 1,符号位单独处理,乘数的某一位决定是否加被乘数,4个位积一起相加,乘积的位数扩大一倍,乘积的符号心算求得,?,6.3,From:,新闻,3.改进后的笔算乘法过程(竖式),0.0 0 0 0,0.1 1 0 1,0.1 1 0 1,0.1 1 0 1,0.0 0 0 0,0.1 1 0 1,初态,部分积=0,乘数为 1,加被乘数,乘数为 1,加被乘数,乘数为 0,加 0,1.0 0 1 1,1,0.1 0 0 1,1 1,1.0 0 0 1,1 1 1,乘数为 1,加 被乘数,0.1 0 0 0,1 1 1 1,1,,得结果,1 0 1 1,=,0.0 1 1 0,1,,形成新的部分积,1,1 0 1,=,0.1 0 0 1,1,,形成新的部分积,1 1,1 0,=,0.0 1 0 0,1,,形成新的部分积,1 1 1,1,=,部 分 积 乘 数 说 明,6.3,From:,新闻,小结,被乘数只与部分积的高位相加,由乘数的末位决定被乘数是否与原部分积相加,,然后,1 位形成新的部分积,,同时,乘数,1,位,(末位移丢),空出高位存放部分积的低位。,硬件,3,个寄存器,具有移位功能,1,个全加器,6.3,乘法,运算可用,加和移位实现,n,=4,,,加 4 次,,,移 4 次,From:,新闻,4.原码乘法,(1)原码一位乘运算规则,以小数为例,设,x,原,=,x,0,.,x,1,x,2,x,n,y,原,=,y,0,.,y,1,y,2,y,n,=(,x,0,y,0,).,x,*,y,*,x,y,原,=(,x,0,y,0,).(0.,x,1,x,2,x,n,)(0.,y,1,y,2,y,n,),式中,x,*,=0.,x,1,x,2,x,n,为,x,的绝对值,y,*,=0,.,y,1,y,2,y,n,为,y,的绝对值,乘积的符号位单独处理,x,0,y,0,数值部分为绝对值相乘,x,*,y,*,6.3,From:,新闻,(2)原码一位乘递推公式,x,*,y,*=,x,*(0.,y,1,y,2,y,n,),=,x,*(,y,1,2,-1,+,y,2,2,-2,+,y,n,2,-,n,),=2,-1,(,y,1,x,*+2,-1,(,y,2,x,*+2,-1,(,y,n,x,*+0),z,1,z,n,z,0,=0,z,1,=2,-1,(,y,n,x,*+,z,0,),z,2,=2,-1,(,y,n,-1,x,*+,z,1,),z,n,=2,-1,(,y,1,x,*+,z,n,-1,),z,0,6.3,From:,新闻,例6.21,已知,x,=,0.1110,y,=0.1101,求,x,y,原,解:,6.3,数值部分的运算,0.0 0 0 0,0.1 1 1 0,0.1 1 1 0,0.0 0 0 0,0.1 1 1 0,0.1 1 1 0,部分积 初态,z,0,=0,部 分 积 乘 数 说 明,0.0 1 1 1,0,1.0 0 0 1,1 0,1.0 1 1 0,1 1 0,0.1 0 1 1,0 1 1 0,1,,,得,z,4,逻辑右移,1 1 0 1,=,0.0 1 1 1,1,,,得,z,1,0,1 1 0,=,0.0 0 1 1,1,,,得,z,2,1 0,1 1,=,0.1 0 0 0,1,,,得,z,3,1 1 0,1,=,逻辑右移,逻辑右移,逻辑右移,+,+,+,+,+,x,*,+,0,+,x,*,+,x,*,From:,新闻,数值部分按绝对值相乘,乘积的符号位,x,0,y,0,=1 0=1,x,*,y,*=0.1 0 1 1 0 1 1 0,则,x,y,原,=1.1 0 1 1 0 1 1 0,特点,绝对值运算,逻辑移位,例6.21 结果,用移位的次数判断乘法是否结束,6.3,From:,新闻,(3)原码一位乘的硬件配置,A、X、Q,均,n,+1,位,移位和加受末位乘数控制,0,A,n,加 法 器,控 制 门,0,X,n,移位和加控制,计数器,C,S,G,M,0,Q,n,右移,6.3,From:,新闻,(4)原码两位乘,原码乘,符号位,和,数值位,部分,分开运算,两位乘,每次用,乘数的 2 位判断,原部分积,是否加,和,如何加,被乘数,1 1,1 0,0 1,0 0,加“0”2,加 1 倍的被乘数 2,加 2 倍的被乘数 2,加 3 倍的被乘数 2,3?,先,减 1 倍,的被乘数,再,加 4 倍,的被乘数,4,1,3,100,01,11,6.3,新的部分积,乘数,y,n,-1,y,n,From:,新闻,(5)原码两位乘运算规则,1,1 1,1,1 0,1,0 1,1,0 0,0,1 1,0,1 0,0,0 1,0,0 0,操 作 内 容,标志位,C,j,乘数判断位,y,n,-1,y,n,z,2,y,*2,C,j,保持,“0”,z,2,y,*2,C,j,保持,“1”,z,x,*2,y,*2,C,j,保持,“1”,z,+2,x,*2,y,*2,C,j,保持,“0”,z,+,x,*2,y,*2,C,j,保持,“0”,共有操作 +,x,*+2,x,*,x,*,2,实际操作,+,x,*,补,+2,x,*,补,+,x,*,补,2 补码移,z,x,*2,y,*2,C,j,置,“1”,z,+2,x,*2,y,*2,C,j,置,“0”,6.3,z,+,x,*2,y,*2,C,j,置,“0”,From:,新闻,例6.22,已知,x,=0.111111,y,=,0.111001,求,x,y,原,0 0 0.0 0 0 0 0 0,0 0 0.1 1 1 1 1 1,0 0 0.1 1 1 1 1 1,0 0.1 1 1 0 0 1,0,初态,z,0,=0,+,x,*,C,j,=0,0,1 0,.0 0 1 1 0 1,1 1,0 0 0.1 1 1 0 0 0,0 0 0 1 1 1,1,1 1,.1 0 0 1 0 0,0 1 1 1,0 0 1.1 1 1 1 1 0,+2,x,*,C,j,=0,1 1 1.0 0 0 0 0 1,x,*,C,j,=1,0 0 0.1 1 1 1 1 1,+,x,*,C,j,=0,0,0 0 0.0 0 1 1 1 1,1 1,0 0 1 1,1 0,2,0,0 0 0.,1 0,0 0 1 1,0 1 1 1,0 0,1 1,2,1,1 1 1.,1 1,1 0 0 1,0 0 0 1 1 1,0 0,2,C,j,部 分 积 乘 数,说 明,补码右移,补码右移,6.3,解:,数值部分的运算,补码右移,+,+,+,+,From:,新闻,数值部分的运算,乘积的符号位,x,0,y,0,=0 1=1,x,*,y,*=0.1 1 1 0 0 0 0 0 0 1 1 1,则,x,y,原,=1.1 1 1 0 0 0 0 0 0 1 1 1,例6.22 结果,特点,绝对值的补码运算,算术移位,用移位的次数判断乘法是否结束,6.3,From:,新闻,(6)原码两位乘和原码一位乘比较,符号位,操作数,移位,移位次数,最多加法次数,x,0,y,0,x,0,y,0,绝对值,绝对值的补码,逻辑右移,算术右移,n,n,n,2,(,n,为偶数),n,2,+1(,n,为偶数),思考,n,为奇数时,原码两位乘,移?次,最多加?次,原码一位乘,原码两位乘,6.3,From:,新闻,5.,补码乘法,设 被乘数,乘数,x,补,=,x,0,.,x,1,x,2,x,n,y,补,=,y,0,.,y,1,y,2,y,n,被乘数任意,乘数为正,同原码乘,但,加,和,移位,按,补码规则,运算,乘积的符号自然形成,被乘数任意,乘数为负,乘数,y,补,,,去掉符号位,,操作同,最后,加,x,补,,,校正,(1)补码一位乘运算规则,6.3,以小数为例,From:,新闻,Booth,算法,(被乘数、乘数符号任意),设,x,补,=,x,0,.,x,1,x,2,x,n,y,补,=,y,0,.,y,1,y,2,y,n,x,y,补,=,x,补,(0.,y,1,y,n,),x,补,y,0,=,x,补,(,y,1,2,-1,+,y,2,2,-2,+,y,n,2,-,n,),x,补,y,0,=,x,补,(,y,0,+,y,1,2,-1,+,y,2,2,-2,+,y,n,2,-,n,),=,x,补,y,0,+,(,y,1,y,1,2,-1,),+,(,y,2,2,-1,y,2,2,-2,),+(,y,n,2,-(,n,-1),y,n,2,-,n,),=,x,补,(,y,1,y,0,)+(,y,2,y,1,)2,-1,+(,y,n,y,n,-1,)2,-(,n,-1),+,(0,y,n,)2,-,n,),y,1,2,-1,+,y,n,2,-,n,x,补,=+,x,补,2,-1,=2,0,2,-
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服