第2章 运算方法与运算器.ppt

上传人:s****8 文档编号:67320698 上传时间:2022-12-24 格式:PPT 页数:237 大小:1.50MB
返回 下载 相关 举报
第2章 运算方法与运算器.ppt_第1页
第1页 / 共237页
第2章 运算方法与运算器.ppt_第2页
第2页 / 共237页
点击查看更多>>
资源描述

《第2章 运算方法与运算器.ppt》由会员分享,可在线阅读,更多相关《第2章 运算方法与运算器.ppt(237页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第二章 运算方法与运算器重点:重点:数据流信息表示方法、运算方法及实现方法。数据流信息表示方法、运算方法及实现方法。难点:难点:数据的乘除方法以及运算器的硬件构成。数据的乘除方法以及运算器的硬件构成。例:设机器字长为例:设机器字长为8 8位字长,位字长,数数N N1 1的真值为(的真值为(+1001110B+1001110B),数),数N N2 2的真值为(的真值为(-1001110)-1001110)0 0 1 0 0 1 1 1 0 B,1 0 0 1 1 1 0 B,1 1 1 0 0 1 1 1 0 B 1 0 0 1 1 1 0 B 2.1 2.1 数据信息的表示方法数据信息的表示方

2、法2.1.12.1.1数值数据的表示数值数据的表示真值与机器数真值与机器数真真 值:值:采用正负号和二进制的绝对值所表示的数值。采用正负号和二进制的绝对值所表示的数值。机器数:机器数:可将正负号用一位数码可将正负号用一位数码0 0和和1 1来表代替的数值,来表代替的数值,一般这种符号位放在数的最高位。一般这种符号位放在数的最高位。则与则与N N1 1、N N2 2对应的机器数为:对应的机器数为:一、一、数的机器表示数的机器表示解决的问题:数的正负极性的区分解决的问题:数的正负极性的区分方法:在数值位的基础上增加方法:在数值位的基础上增加1 1位符号位位符号位 根据运算方式的需要,机器数的表示方

3、法是不根据运算方式的需要,机器数的表示方法是不同的,通常有同的,通常有:原码表示法原码表示法、补码表示法补码表示法、和、和移码表示法移码表示法四种四种。1 1、原码表示法原码表示法 是是一一种种比比较较直直观观的的机机器器数数表表示示法法,原原码码的的最最高高位位作作为为符符号号位位,用用“0 0”表表示示正正,用用“1 1”表表示示负负,有有效效数数值值部部分分用用二二进进制制的的绝绝对对值表示值表示.在数值位的基础上增加在数值位的基础上增加1 1位符号位。正数的位符号位。正数的符号位用符号位用“0 0”表示,表示,负数的符号位负数的符号位用用“1 1”表示,数值表示,数值位等于真值的位等于

4、真值的绝对值绝对值。纯小数时,纯小数时,设设X=XX=X0 0.X.X1 1X X2 2X X3 3X Xn-1n-1 ,则其则其原原码码至少有至少有n n位:位:X 0X1-2 X 0X1-2-(n-1n-1)1-X=1+|X|-(1-2 1-X=1+|X|-(1-2-(n-1)-(n-1)X0 )X0 XX原原=例例:若若X X1 1=+0.1011B=+0.1011B,X X2 2=-0.1011B,=-0.1011B,字字长长为为8 8位位,则原码为则原码为:XX1 1 原原=0 0.1011000B.1011000B,XX2 2 原原=1+0.1011000=1+0.1011000=

5、1 1.1011000B,.1011000B,(其中最高位为符号位其中最高位为符号位)00原原 =0 0.000.00000B00B-0-0原原 =1 1.000.00000B00B纯纯整整数数时时,设设X=XX=X0 0X X1 1X X2 2X X3 3X X4 4X Xn-n-,则则n n位位机机器器原原码表示为码表示为:X 0X2 X 0X2(n-1n-1)-1-1 2 2n-1n-1-X=2-X=2n-1n-1+|X|-(2+|X|-(2(n-1n-1)-1)X0 -1)X0 XX原原=例:若例:若X X1 1=+1011B=+1011B,X X2 2=-1011B=-1011B,字

6、长为,字长为8 8位,位,则原码为:则原码为:XX1 1 原原=0 00001011B0001011B,XX2 2 原原=2=27 7+0001011=+0001011=1 100010110001011(其中最高位为符号位其中最高位为符号位)0 0 原原=0 000000000B00B-0-0 原原=1 100000000B00B2 2、补码表示法补码表示法模:模:是计量器具的容量,或称模数。是计量器具的容量,或称模数。在计算机中,机器数表示数据的字长即位数是固定的。在计算机中,机器数表示数据的字长即位数是固定的。其模数的大小:其模数的大小:1)1)对于对于n n位整数(含一位符号位),则它

7、的模数为位整数(含一位符号位),则它的模数为2 2n n,2)2)对于纯小数(含符号位),则它的模数总是对于纯小数(含符号位),则它的模数总是2 2。若在运算过程中结果大于等于模数,则说明该值若在运算过程中结果大于等于模数,则说明该值已超过了机器所能表示的范围,模数自然丢失。已超过了机器所能表示的范围,模数自然丢失。例例:某某一一台台计计算算机机的的字字长长为为8 8位位,则则它它所所能能表表示示的的二二进进制制数数为为00000000000000001111111111111111,共共256256个,即模数为个,即模数为2 28 8。补码定义为机器数的最高位作为符号位,补码定义为机器数的最

8、高位作为符号位,用用“0 0”表示正号,用表示正号,用“1 1”表示负号。表示负号。纯纯小小数数时时,X=XX=X0 0.X.X1 1X X2 2X X3 3X Xn-1n-1 ,则则n n位位机机器器补补码码表示为表示为:X 0X1-2 X 0X1-2-(n-1n-1)2+X=2-|X|-1X0 2+X=2-|X|-1X0 X0,Y0,Y0,则则X+Y0X+Y0 由于由于X X、Y Y、X+YX+Y为正数,根据补码定义:为正数,根据补码定义:XX补补=X=X,YY补补=Y=Y,X+YX+Y补补=X+Y=X+Y 因而:因而:XX补补+Y+Y补补=X+Y=X+Y=X+Y=X+Y补补 设设X0 X

9、0,Y0,Y0,则则X+Y0X+Y0,2+0,2+(2+2+(X+YX+Y)中第一个)中第一个2 2可丢失(模可丢失(模2 2运算)运算)即即:2+:2+(2+2+(X+YX+Y)=2+=2+(X+YX+Y)则则:X:X补补+Y+Y补补=2+=2+(X+YX+Y)=X+Y=X+Y补补设设X0 X0,Y0,Y0 X+Y0 或或X+Y0X+Y0 由于由于X X为正,为正,Y Y为负数,根据补码定义:为负数,根据补码定义:XX补补=X=X,YY补补=2+Y=2+Y 因而:因而:X X补补+Y+Y补补=2+=2+(X+YX+Y)若:若:X+Y0X+Y0,2 2可丢失,可丢失,即:即:XX补补+Y+Y补

10、补=X+Y=X+Y=X+Y=X+Y补补 若若:X+Y0:X+Y0,即,即XX补补+Y+Y补补=2+X+Y=X+Y=2+X+Y=X+Y补补设设X0 X0,Y0,则则X+Y0 X+Y0 或或X+Y0X+YI,0-P0-I,0-Pi iP Pi i+X-P+X-Pi iP Pi i+0-P+0-Pi iP Pi i右移一位右移一位 I=I+1I=I+1X Xf fyyf f-P-Pf f结束结束y yn n=1?=1?I=n?I=n?举例:举例:X=-0.1101,Y=-0.1011,X=-0.1101,Y=-0.1011,求求XXYY原原=?=?解:解:|X|=00.1101,|Y|=0.1011

11、|X|=00.1101,|Y|=0.1011 部分积部分积 乘数乘数 y yn n 说明说明00.00000.1011+00.110100.110100.011010.101+00.110101.0011100.1001110.10+00.000000.10011100.01001110.1+00.110101.000111100.100011110yn=1,加加|X|右移一位得右移一位得P4右移一位得右移一位得P2yn=0,加加0右移一位得右移一位得P3yn=1,加加|X|右移一位得右移一位得P1yn=1,加加|X|由于由于Pf=Xf Yf=1 1=0|P|=|X|Y|=0.10001111

12、所以所以XY原原=0.10001111Z0=0举例:举例:X=-0.1101,Y=-0.1011,X=-0.1101,Y=-0.1011,求求X*YX*Y原原=?=?解:解:|X|=00.1101,|Y|=0.1011|X|=00.1101,|Y|=0.1011 部分积部分积 乘数乘数 y yn n 说明说明y yn n=1,=1,加加|X|X|右移一位得右移一位得P P4 4右移一位得右移一位得P P2 2y yn n=0,=0,加加0 0右移一位得右移一位得P P3 3y yn n=1,=1,加加|X|X|右移一位得右移一位得P P1 1y yn n=1,=1,加加|X|X|Z Z0 0=

13、0=0 00.0000 y00.0000 yf f 1 0 1 1 1 0 1 1 +00.1101+00.1101 00.1101 00.1101 00.0110 1 y 00.0110 1 yf f 1 0 1 1 0 1 +00.1101+00.1101 01.0011 01.0011 00.1001 1 1 00.1001 1 1 y yf f 1 0 1 0 +00.0000 +00.0000 00.1001 00.1001 00.0100 1 1 1 00.0100 1 1 1 y yf f 1 1 +00.1101 +00.1101 01.0001 01.0001 00.1000

14、 1 1 1 1 y 00.1000 1 1 1 1 yf f 由于由于 P Pf f=X=Xf fYYf f=11=0=11=0|P|=|X|Y|=0.10001111|P|=|X|Y|=0.10001111所以所以 X X Y Y原原=0.10001111=0.10001111T部分积部分积R0 R1乘积乘积yyn计数器I移位信号移位信号SR2&被乘数被乘数xyn=1Pfxfyf&F QR S结束结束 启动启动+1原码一位乘法硬件逻辑结构图R0和R1都具有右移功能并且连通2.2.逻辑实现逻辑实现 二补码一位乘法二补码一位乘法补码与真值的转换公式:补码与真值的转换公式:设设XX补补=X=X0

15、 0.X.X1 1X X2 2X Xn n,则则:X =X =X X0 02.2.2.2.补码的右移补码的右移补码的右移补码的右移 在补码运算的机器中在补码运算的机器中在补码运算的机器中在补码运算的机器中,一个数不论正负一个数不论正负一个数不论正负一个数不论正负,连同符号连同符号连同符号连同符号位向右移一位位向右移一位位向右移一位位向右移一位,符号位保持不变符号位保持不变符号位保持不变符号位保持不变,就等于乘就等于乘就等于乘就等于乘1/21/21/21/23.3.补码乘法规则补码乘法规则 设被乘数设被乘数补补=n n 乘乘数数y y补补y y0 0.y.y1 1y y2 2y yn n 均均为

16、任意符号,为任意符号,则有补码乘法算式:则有补码乘法算式:证明证明证明证明:1)1)1)1)被乘数符号任意,乘数符号为正;根据补码定义可得:被乘数符号任意,乘数符号为正;根据补码定义可得:被乘数符号任意,乘数符号为正;根据补码定义可得:被乘数符号任意,乘数符号为正;根据补码定义可得:xxxx补补补补=2+x=2=2+x=2=2+x=2=2+x=2n+1n+1n+1n+1+x (mod 2)+x (mod 2)+x (mod 2)+x (mod 2)y y y y补补补补=y=y=y=y x x x x补补补补yyyy补补补补=2=2=2=2n+1n+1n+1n+1y+xy+xy+xy+xy=2

17、(yy=2(yy=2(yy=2(y1 1 1 1y y y y2 2 2 2y y y yn n n n)+x)+x)+x)+xy y y y其中其中其中其中(y(y(y(y1 1 1 1y y y y2 2 2 2y y y yn n n n)是大于的正整数,根据模运算性质有:是大于的正整数,根据模运算性质有:是大于的正整数,根据模运算性质有:是大于的正整数,根据模运算性质有:2(y2(y2(y2(y1 1 1 1y y y y2 2 2 2y y y yn n n n)=2 (mod 2)=2 (mod 2)=2 (mod 2)=2 (mod 2)补补补补y y y y补补补补 =2+X=

18、2+X=2+X=2+Xy=y=y=y=X X X Xyyyy补补补补 (mod 2)mod 2)mod 2)mod 2)X X X X y y y y补补补补 =x=x=x=x补补补补 y y y y补补补补 =X=X=X=X补补补补 y y y y(2)(2)被乘数被乘数 x x 符号任意,乘数符号任意,乘数y y符号为负符号为负 x x补补=x=xx xx xx xn ny y补补1.y1.y1 1y y2 2y yn ny(mod 2)y(mod 2)y yy y补补 0.y0.y1 1y y2 2 y yn n 1 1 x xy=xy=x(0.y0.y1 1y y2 2y yn n)-

19、x-xX Xyy补补x x(0 0y y1 1y y2 2y yn n)补补 -x-x补补又因为又因为 (0.y0.y1 1y y2 2 y yn n)x(0.yx(0.y1 1y y2 2y yn n)=x=x补补(0.y0.y1 1y y2 2y yn n)x xyy补补 =x=x补补(0.y0.y1 1y y2 2y yn n)-x-x补补(3)(3)被乘数和乘数符号都任意;综合上两式得:被乘数和乘数符号都任意;综合上两式得:X Xyy补补 xx补补(0.y0.y1 1y y2 2y yn n)xx补补 y y0 0 =x=x补补(-y(-y0 0 0.y0.y1 1y y2 2 y y

20、n n)=x =x补补(-y(-y0 0 )X Xyy补补 补补-y-y0 0y y1 12 2-1-1+y+y2 22 2-2-2+y+yn n2 2-n-n =补补-y-y0 0(y(y1 1y y1 12 2-1-1)(y(y2 22 2-1-1y y1 12 2-2-2)(y(yn n2 2-(n-1)-(n-1)y yn n2 2-n-n)=补补(y(y1 1-y-y0 0)+(y)+(y2 2y y1 1)2)2-1-1+(y +(yn ny yn-1n-1)2)2-(n-1)-(n-1)(0(0y yn n)2)2-n-n =补补 (y (yn+1n+1=0)=0)zz0 0 补

21、补zz1 1 补补=2=2-1-1zz0 0 补补+(y+(yn+1n+1-y-yn n)x)x补补 (y(yn+1n+1=0)=0)zz2 2 补补=2=2-1-1zz1 1 补补+(y+(yn n-y-yn-1n-1)x)x补补 zzi i 补补=2=2-1-1zzi-1i-1 补补+(y+(yn-i+2n-i+2-y-yn-i+1n-i+1)x)x补补zzn n 补补=2=2-1-1zzn-1n-1 补补+(y+(y2 2-y-y1 1)x)x补补zzn+1n+1 补补=z=zn n 补补+(y+(y1 1-y-y0 0)x)x补补=x=xyy补补二、二、二、二、补码一位乘法补码一位乘法

22、补码一位乘法补码一位乘法1 1 1 1运算规则运算规则运算规则运算规则:BoothBoothBoothBooth夫夫夫夫妇妇妇妇首首首首先先先先提提提提出出出出,也也也也称称称称BoothBoothBoothBooth算算算算法法法法,具具具具体体体体的的的的证证证证明明明明过过过过程在此不做介绍,其运算规则如下:程在此不做介绍,其运算规则如下:程在此不做介绍,其运算规则如下:程在此不做介绍,其运算规则如下:(1 1 1 1)符号位参与运算,运算的数均以补码表示)符号位参与运算,运算的数均以补码表示)符号位参与运算,运算的数均以补码表示)符号位参与运算,运算的数均以补码表示(2 2 2 2)被

23、乘数一般取双符号位参与运算,部分积初值为)被乘数一般取双符号位参与运算,部分积初值为)被乘数一般取双符号位参与运算,部分积初值为)被乘数一般取双符号位参与运算,部分积初值为0 0 0 0(3 3 3 3)乘乘乘乘数数数数可可可可取取取取单单单单符符符符号号号号位位位位,以以以以决决决决定定定定最最最最后后后后一一一一步步步步是是是是否否否否需需需需要要要要校校校校正,即是否要加正,即是否要加正,即是否要加正,即是否要加XXXX补补补补(4 4 4 4)乘数末位增设附加位)乘数末位增设附加位)乘数末位增设附加位)乘数末位增设附加位y y y yn+1n+1n+1n+1,且初值为,且初值为,且初值

24、为,且初值为0 0 0 0(5 5 5 5)按下表所示进行操作:)按下表所示进行操作:)按下表所示进行操作:)按下表所示进行操作:y yn n(高位高位)y yn+1n+1(低位低位)操操 作作0 00 0部分积右移一位部分积右移一位0 01 1部分积加部分积加XX补补,右移一位,右移一位1 10 0部分积加部分积加-X-X补补,右移一位,右移一位1 11 1部分积右移一位部分积右移一位(6 6)按按上上述述算算法法进进行行n+1n+1步步操操作作,但但第第n+1n+1步步不不再再移移位,仅根据位,仅根据y y0 0与与y y1 1的比较结果作相应的运算即可的比较结果作相应的运算即可流程图如下

25、:流程图如下:N NY Y01011010开始开始0-I,0-P0-I,0-Pi iPPi i 补补+-X+-X补补-P-Pi iPPi i 补补+X+X补补-P-Pi iPPi i 补补、yy补补右移一位右移一位 I=I+1I=I+1PPi i 补补不变不变结束结束y yn ny yn+1n+1=?=?I=n+1?I=n+1?00,1100,11举例:举例:1).X=-0.1101,Y=0.1011,1).X=-0.1101,Y=0.1011,求求XXYY补补=?解:解:XX补补=11.0011,-X=11.0011,-X补补=00.1101 Y=00.1101 Y补补=0.1011=0.1

26、011 部分积部分积 乘数乘数 Y Yn n Y Yn+1n+1 说明说明 00.000000.0000 0.1 0 1 0.1 0 1 1 01 0Y Yn nY Yn+1n+1=10,=10,加加-X-X补补最后一步不移位最后一步不移位XXYY补补=1.01110001=1.01110001+00.1101+00.110100.110100.1101 0.1 0 0.1 0 1 11 1右移一位得右移一位得P P1 1 00.0110 100.0110 1 0.1 0.1 0 10 1 Y Yn nY Yn+1n+1=11,=11,右移一位得右移一位得P P2 200.0011 0100.

27、0011 01Y Yn nY Yn+1n+1=01,=01,加加XX补补+11.0011+11.001111.011011.0110 0.0.1 01 0 右移一位得右移一位得P P3 311.1011 00111.1011 001Y Yn nY Yn+1n+1=10,=10,加加-X-X补补+00.1101+00.110100.1000 00100.1000 001 0.0.1 1 右移一位得右移一位得P P4 400.0100 000100.0100 0001Y Yn nY Yn+1n+1=01,=01,加加XX补补+11.0011+11.001111.0111 0001 11.0111

28、0001 2).X=-1,Y=0.101,2).X=-1,Y=0.101,求求XXYY补补=?=?解:解:XX补补=11.000,-X=11.000,-X补补=01.000 Y=01.000 Y补补=0.101=0.101 部分积部分积 乘数乘数Y Yn nY Yn+1n+1 说明说明00.000+01.0000.1010YnYn+1=10,加加-X补补01.00000.1000+11.0000.101右移一位得右移一位得P1YnYn+1=01,加加X补补11.100011.11000+01.0000.10右移一位得右移一位得P2YnYn+1=10,加加-X补补00.1100000.01100

29、0+11.0000.1右移一位得右移一位得P3YnYn+1=01,加加X补补11.011000最后一步不移位最后一步不移位XY补补=1.0110002).X=-1,Y=0.101,求求XY补补=?解:解:X补补=11.000,-X补补=01.000Y补补=0.101部分积部分积乘数乘数YnYn+1说明说明XXYY补补=1.011000=1.011000 00.000+01.0000.1010YnYn+1=10,加加-X补补01.00000.1000+11.0000.101右移一位得右移一位得P1YnYn+1=01,加加X补补11.100011.11000+01.0000.10右移一位得右移一位

30、得P2YnYn+1=10,加加-X补补00.1100000.011000+11.0000.1右移一位得右移一位得P3YnYn+1=01,加加X补补11.011000最后一步不移位最后一步不移位ynyn+1T部分积部分积R0 R1乘积乘积yyn计数器I移位信号移位信号 S CI被乘数被乘数x&QR S+1多路开关多路开关R2&10ynyn+1&+1yn+101反反原原结束结束启动启动F2.2.逻辑实现逻辑实现 三、原码二位乘法三、原码二位乘法运算规则为:运算规则为:(1 1)被乘数和乘数均取绝对值参加运算,符号位)被乘数和乘数均取绝对值参加运算,符号位单独单独P Pf f=X=Xf fYYf f

31、(2 2)被乘数和部分积取三符号,乘数末位增加一)被乘数和部分积取三符号,乘数末位增加一位位C C,初值为,初值为0 0(3 3)按下表操作)按下表操作三、原码二位乘法三、原码二位乘法三、原码二位乘法三、原码二位乘法运算规则为:运算规则为:运算规则为:运算规则为:(1 1 1 1)被乘数和乘数均取绝对值参加运算,符号位)被乘数和乘数均取绝对值参加运算,符号位)被乘数和乘数均取绝对值参加运算,符号位)被乘数和乘数均取绝对值参加运算,符号位 单独考虑单独考虑单独考虑单独考虑P P P Pf f f f=X=X=X=Xf f f fYYYYf f f f(2 2 2 2)被乘数和部分积取三符号,乘数

32、末位增加一)被乘数和部分积取三符号,乘数末位增加一)被乘数和部分积取三符号,乘数末位增加一)被乘数和部分积取三符号,乘数末位增加一 位位位位C C C C,初值为,初值为,初值为,初值为0 0 0 0(3 3 3 3)按下表操作)按下表操作)按下表操作)按下表操作y y y yn-1n-1n-1n-1y y y yn n n nC C C C操操操操 作作作作0 0 0 00 0 0 00 0 0 0加加加加0 0 0 0,部分积右移两位,部分积右移两位,部分积右移两位,部分积右移两位,0 0 0 0 C C C C0 0 0 00 0 0 01 1 1 1加加加加X X X X,部分积右移两

33、位,部分积右移两位,部分积右移两位,部分积右移两位,0 0 0 0 C C C C0 0 0 01 1 1 10 0 0 0加加加加X X X X,部分积右移两位,部分积右移两位,部分积右移两位,部分积右移两位,0 0 0 0 C C C C0 0 0 01 1 1 11 1 1 1加加加加2X2X2X2X,部分积右移两位,部分积右移两位,部分积右移两位,部分积右移两位,0 0 0 0 C C C C1 1 1 10 0 0 00 0 0 0加加加加2X2X2X2X,部分积右移两位,部分积右移两位,部分积右移两位,部分积右移两位,0 0 0 0 C C C C1 1 1 10 0 0 01 1

34、 1 1减减减减X X X X,部分积右移两位,部分积右移两位,部分积右移两位,部分积右移两位,1 1 1 1 C C C C1 1 1 11 1 1 10 0 0 0减减减减X X X X,部分积右移两位,部分积右移两位,部分积右移两位,部分积右移两位,1 1 1 1 C C C C1 1 1 11 1 1 11 1 1 1加加加加0 0 0 0,部分积右移两位,部分积右移两位,部分积右移两位,部分积右移两位,1 1 1 1 C C C C(4 4 4 4)若)若)若)若n n n n为偶数,则乘数用双符号,最后一步不移位为偶数,则乘数用双符号,最后一步不移位为偶数,则乘数用双符号,最后一步

35、不移位为偶数,则乘数用双符号,最后一步不移位 若若若若n n n n为奇数,则乘数用单符号,最后一步移一位为奇数,则乘数用单符号,最后一步移一位为奇数,则乘数用单符号,最后一步移一位为奇数,则乘数用单符号,最后一步移一位例例1 1:X=-0.1101,Y=0.0110,X=-0.1101,Y=0.0110,求求 XXYY原原=?解:解:|X|=000.1101,2|X|=001.1010|Y|=00.0110|X|=000.1101,2|X|=001.1010|Y|=00.0110 部分积部分积 乘数乘数 y yn-1n-1y yn nC C 说明说明由于由于 P Pf f=X=Xf fYYf

36、 f=10=1,|P|=|X|Y|=0.01001110,=10=1,|P|=|X|Y|=0.01001110,所以所以 XXYY原原=1.01001110=1.01001110000.0000 000.0000 +001.1010 +001.1010 00.0100.01100100y yn-1n-1y yn nC=100,C=100,加加2|X|2|X|001.1010 001.1010 000.0110000.0110+000.1101 +000.1101 00.00.010010右移两位,右移两位,0 0 C Cy yn-1n-1y yn nC=010,C=010,加加|X|X|001

37、.0011 001.0011 000.0100000.0100右移两位右移两位,0,0 C Cy yn-1n-1y yn nC=000,C=000,加加0,0,最最后后一一步不移位步不移位10101010110110例例2 2:X=-0.011,Y=-0.011,X=-0.011,Y=-0.011,求求 XYXY原原=?解:解:|X|=000.011,-|X|X|=000.011,-|X|补补=111.101|Y|=0.011=111.101|Y|=0.011 部分积部分积 乘数乘数 y yn-1n-1y yn n C C 说明说明 000.000 000.000 +111.101 +111.

38、101 0.00.0110110Y Yn-1n-1Y Yn nC=110,C=110,减减|X|X|111.101 111.101 111.111 111.111 +000.011 +000.011 0.010.01右移两位,右移两位,1 1C CY Yn-1n-1Y Yn nC=001,C=001,加加|X|X|000.010 000.010 000.001 000.001 最后一步移一位最后一步移一位由于由于 P Pf f=X=Xf fYYf f=11=0,|P|=|X|Y|=0.001001,=11=0,|P|=|X|Y|=0.001001,所以所以 XXYY原原=0.001001=0.

39、00100101010101001001四、补码二位乘法四、补码二位乘法运算规则:运算规则:(1 1)被乘数和乘数符号位参加运算,两数均为)被乘数和乘数符号位参加运算,两数均为补码表示补码表示;(2 2)被乘数和部分积取三符号,乘数末位增加)被乘数和部分积取三符号,乘数末位增加一位一位y yn+1n+1的长度相同,初值为的长度相同,初值为0;0;(3 3)按下表操作)按下表操作y yn-1n-1y yn ny yn+1n+1操操 作作0 00 00 0加加0 0,部分积右移两位,部分积右移两位0 00 01 1加加XX补,部分积右移两位补,部分积右移两位0 01 10 0加加XX补,部分积右移

40、两位补,部分积右移两位0 01 11 1加加2X2X补,部分积右移两位补,部分积右移两位1 10 00 0加加2-X2-X补,部分积右移两位补,部分积右移两位1 10 01 1加加-X-X补,部分积右移两位补,部分积右移两位1 11 10 0加加-X-X补,部分积右移两位补,部分积右移两位1 11 11 1加加0 0,部分积右移两位,部分积右移两位(4 4)若)若n n为偶数,则乘数用双符号,最后一步不移位为偶数,则乘数用双符号,最后一步不移位 若若n n为奇数,则乘数用单符号,最后一步移一位为奇数,则乘数用单符号,最后一步移一位补码二位乘法的证明zzzzi i i i 补补补补=2=2=2=

41、2-1-1-1-1zzzzi-1i-1i-1i-1 补补补补+(y+(y+(y+(yn-i+2n-i+2n-i+2n-i+2-y-y-y-yn-i+1n-i+1n-i+1n-i+1)x)x)x)x补补补补zzzzi+1i+1i+1i+1 补补补补=2=2=2=2-1-1-1-1zzzzi i i i 补补补补+(y+(y+(y+(yn-i+1n-i+1n-i+1n-i+1-y-y-y-yn-in-in-in-i)x)x)x)x补补补补zzzzi+2i+2i+2i+2 补补补补=2=2=2=2-1-1-1-1zzzzi+1i+1i+1i+1 补补补补+(y+(y+(y+(yn-in-in-in-

42、i-y-y-y-yn-i-1n-i-1n-i-1n-i-1)x)x)x)x补补补补=2=2=2=2-1-1-1-1 2 2 2 2-1-1-1-1zzzzi i i i 补补补补+(y+(y+(y+(yn-i+1n-i+1n-i+1n-i+1-y-y-y-yn-in-in-in-i)x)x)x)x补补补补+(y+(y+(y+(yn-in-in-in-i-y-y-y-yn-i-1n-i-1n-i-1n-i-1)x)x)x)x补补补补=2=2=2=2-1-1-1-12 2 2 2-1-1-1-1zzzzi i i i 补补补补+(y+(y+(y+(yn-i+1n-i+1n-i+1n-i+1-y-y

43、-y-yn-in-in-in-i)x)x)x)x补补补补+2(y+2(y+2(y+2(yn-in-in-in-i-y-y-y-yn-i-1n-i-1n-i-1n-i-1)x)x)x)x补补补补=2=2=2=2-2-2-2-2zzzzi i i i 补补补补+(y+(y+(y+(yn-i+1 n-i+1 n-i+1 n-i+1+y+y+y+yn-1n-1n-1n-1-2y-2y-2y-2yn-in-in-in-i)x)x)x)x补补补补zzi+2i+2 补补=2=2-2-2zzi i 补补+(y+(yn+1n+1+y+yn n-2y-2yn-1n-1)x)x补补zzi i 补补=2=2-1-1z

44、zi-1i-1 补补+(y+(yn-i+2n-i+2-y-yn-i+1n-i+1)x)x补补例例1 1:X=-0.1101,Y=0.0110,X=-0.1101,Y=0.0110,求求 XXYY补补=?解:解:XX补补=111.0011,2-X=111.0011,2-X补补=001.1010=001.1010,2X2X补补=110.0110=110.0110 Y Y补补=00.0110=00.0110 部分积部分积 乘数乘数 y yn-1n-1y yn ny yn+1n+1 说明说明 000.0000 000.0000 +001.1010 +001.1010 00.0100.01100100y

45、 yn-1n-1y yn ny yn+1n+1=100,=100,加加2-X2-X补补001.1010 001.1010 -000.0110 -000.0110 +110.0110+110.0110 00.00.011011右移两位右移两位y yn-1n-1y yn ny yn+1n+1=011,=011,加加2X2X补补110.1100 110.1100 -111.1011-111.1011 00.000.0右移两位右移两位y yn-1n-1y yn ny yn+1n+1=000,=000,加加0,0,最最后后一一步不步不移位移位所以所以 XXYY补补=1.10110010=1.101100

46、10 1010101000100010例例2 2:X=-0.011,Y=-0.011,X=-0.011,Y=-0.011,求求 XXYY补补=?解:解:XX补补=111.101,-X=111.101,-X补补=000.011=000.011 Y Y补补=1.101=1.101 部分积部分积 乘数乘数 y yn-1n-1y yn ny yn+1n+1 说明说明所以所以 XXYY补补=0.001001=0.001001 000.000 000.000 +111.101 +111.101 1.11.1010010y yn-1n-1y yn ny yn+1n+1=010,=010,加加XX补补111.

47、101 111.101 -111.111 -111.111 +000.011 +000.011 1.101.10右移两位右移两位y yn-1n-1y yn ny yn+1n+1=110,=110,加加-X-X补补000.010 000.010 -000.001-000.001 最后一步移一位最后一步移一位01010101001001例例例例3 3 3 3:X=+0.1011,Y=-1,X=+0.1011,Y=-1,X=+0.1011,Y=-1,X=+0.1011,Y=-1,求求求求 XXXXYYYY补补补补=?解:解:解:解:XXXX补补补补=000.1011,-X=000.1011,-X=0

48、00.1011,-X=000.1011,-X补补补补=111.0101=111.0101=111.0101=111.0101 Y Y Y Y补补补补=11.0000=11.0000=11.0000=11.0000 部分积部分积 乘数乘数 y yn-1n-1y yn ny yn+1n+1 说明说明 所以所以 XXYY补补=1.01010000=1.01010000 000.0000 000.0000 11.0011.00000000y yn-1n-1y yn ny yn+1n+1=000,=000,加加0,0,右移两位右移两位-000.0000 -000.0000 11.11.000000y y

49、n-1n-1y yn ny yn+1n+1=000,=000,加加0,0,右移两位右移两位-000.0000-000.0000+111.0101 +111.0101 11.011.0y yn-1n-1y yn ny yn+1n+1=110,=110,加加-X-X补补111.0101111.0101最后一步不移位最后一步不移位00000000000000000000例:例:X=+0.0110011,Y=-0.0110010,X=+0.0110011,Y=-0.0110010,用补码两位乘法求用补码两位乘法求解:解:XX补补=0.=0.,-X,-X补补=XX补补=;-X-X补补=YY补补=部分积部

50、分积乘数乘数Yn-1YnYn+1说明说明.2.4定点除法运算一、原码一位除法一、原码一位除法二、补码一位除法二、补码一位除法一、一、原码一位除法原码一位除法设被除数设被除数xx原原x xf f.x.xx x x x n n ,除数除数yy原原y yf f.y.yy y y y n n ,则,则商的符号:商的符号:Q Qf f=x=xf fyyf f商的数值:商的数值:|Q|=|x|/|y|Q|=|x|/|y|两个用原码表示的数相除时,两个用原码表示的数相除时,商的符号商的符号通过两个数通过两个数的符号的符号异或异或求得,而求得,而商的数值部分商的数值部分通过两个数的数通过两个数的数值部分按正数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁