版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、原码补码乘除法 原码一位乘运算原码一位乘运算 以定点小数为例以定点小数为例 0. 1 1 0 1 0. 1 0 1 1 0. 0 0 0 0 1 1 0 1 0. 0 0 0 1 1 0 1 0. 0 0 0 0 0 0 +0. 0 1 1 0 1 0 . 1 0 0 0 1 1 1 1 例如:例如: X = 0.1101 Y = - 0.1011 笔算乘法过程笔算乘法过程 机器实现问题:机器实现问题: 1. 加法器只有两个数据输入端;加法器只有两个数据输入端; 2. 加法器与运算数据位数相同。加法器与运算数据位数相同。 解决方案:解决方案: 1. 改改n输入数相加过程为两两输入数相加过程为两
2、两 相加;相加; 2. 改改2n位相加过程为位相加过程为n位相加。位相加。 X Y = - 0.10001111 原码补码乘除法 原码一位乘运算原码一位乘运算 基本公式:基本公式: 设设 被乘数被乘数 X原 原 = xf . x1 x2 x n 乘乘 数数 Y原 原 = yf . y1 y2 y n 则 则 X Y原 原 =( xf yf ). ( X* Y* ) 其中,其中, X X* * 和和Y Y* *分别是分别是X X和和Y Y的绝对值的绝对值 原码补码乘除法 例如:例如: X = 0.1101 Y = - 0.1011 X原 原= 0.1101 Y原原 = 1.1011 X* = 0
3、.1101 Y* = 0.1011 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 手工运算过程手工运算过程 原码一位乘运算原码一位乘运算 原码补码乘除法 原码一位乘运算原码一位乘运算 X* = 0.1101 Y* = 0.1011 0. 1 1 0 1 . 1 0. 1 0 1 1 + . 1 1 0 1 . 前次
4、部分积加被乘数前次部分积加被乘数 1 1 0 1 . 部分积右移部分积右移 0 0 0 0将移出的一位保存起来将移出的一位保存起来 + 1 1 0 1 求第二次部分积求第二次部分积 0 . 1 0 0 0 1 1 1 1 手工运算过程手工运算过程 原码补码乘除法 原码一位乘运算原码一位乘运算 X* = 0.1101 Y* = 0.1011 0. 1 1 0 1 . 1 1 0. 1 0 1 1 + . 1 1 0 1 . 前次部分积加前次部分积加 1 1 0 1 .部分积右移部分积右移 0 0 0 0将移出的一位保存起来将移出的一位保存起来 + 1 1 0 1 求第三次部分积求第三次部分积 0
5、 . 1 0 0 0 1 1 1 1 手工运算过程手工运算过程 原码补码乘除法 原码一位乘运算原码一位乘运算 X* = 0.1101 Y* = 0.1011 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 手工运算过程手工运算过程 再用一步完成两数符号异或求再用一步完成两数符号异或求 积的符号积的符号, 结果为结果为 -0.10001111 原
6、码补码乘除法 原码一位乘运算规则原码一位乘运算规则 原码一位乘运算规则:原码一位乘运算规则: 1. 1. 乘积的符号位由两数符号位乘积的符号位由两数符号位“异或异或”产生,符产生,符 号号 位不参与运算;位不参与运算; 2. 2. 部分积可采用一位或两位符号位;部分积可采用一位或两位符号位; 3. 3. 乘积的数值部分由两数绝对值相乘产生,通过乘积的数值部分由两数绝对值相乘产生,通过n n 次次“加法加法”和和“右移右移”操作实现。操作实现。(n(n为乘数整数部分为乘数整数部分 位数位数) ) 原码补码乘除法 原码一位乘运算实例原码一位乘运算实例 部分积部分积 乘数乘数 0. 0 0 0 0
7、0.1 0 1 1 + 0. 1 1 0 1 0. 1 1 0 1 0. 0 1 1 0 1 0 1 0 1 + 0. 1 1 0 1 1. 0 0 1 1 0. 1 0 0 1 1 1 0 1 0 0. 0 1 0 0 1 1 1 0 1 + 0. 1 1 0 1 1. 0 0 0 1 0. 1 0 0 0 1 1 1 1 0 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 例如:例如: X = 0.1101 Y = - 0.1011 手工运算过程手工运算过程 计算机内运算的实现方法计算机
8、内运算的实现方法 则则 X* = 0.1101 Y* = 0.1011 X原 原 = 0.1101 Y原原 = 1.1011 X Y原 原 = 1.10001111 原码补码乘除法 补码乘法运算补码乘法运算 原码乘法不难实现,但有两个问题原码乘法不难实现,但有两个问题: 1. 符号位与数值位分别处理,不方便;符号位与数值位分别处理,不方便; 2. 若数据为补码形式,可能需要多于两次若数据为补码形式,可能需要多于两次 补补原码变换。原码变换。 也可以直接用补码完成乘法运算,即从补也可以直接用补码完成乘法运算,即从补 码开始,直接得到补码的积。码开始,直接得到补码的积。 下面看一看补码乘运算的实现
9、算法。下面看一看补码乘运算的实现算法。 原码补码乘除法 = (Yi+1 - Yi ) 2-i 设设 被乘数被乘数 X补 补 = x0. x1 x2 x n 乘乘 数数 Y补 补 = y0. y1 y2 y n 先复习两个概念先复习两个概念: 已知已知 X补 补 = x0. x1x2 x n 时 时 X/2补 补 = x0. x0 x1 x2 xn-1 已知已知 Y补 补 = y0. y1 y2 yn 时 时 Y = - y0 yi 2-i i=1 n n i=0 补码一位乘法的实现算法推导补码一位乘法的实现算法推导(比较法比较法) 原码补码乘除法 X Y = X - y0 yi 2-i 补码一
10、位乘法运算算法推导补码一位乘法运算算法推导 (比较法比较法) X Y补 补 补 补 补 补 ? = X (0 .y1 y2 yn) - X y0 X Y补 补 = X (0 .y1 y2 yn) - X y0 补 补 = X (0 .y1 y2 yn) 补 补- X y0 补 补 = X 补补 (0 .y1 y2 yn) - y0 X补 补 = X 补补 Y n i=0 原码补码乘除法 证明证明 X (0 .y1 y2 yn) 补 补 = X 补补 (0 .y1 y2 yn) (1) 当当X 0 时,时, X (0 .y1 y2 yn) 补 补 = X (0 .y1 y2 yn) = X 补
11、补 (0 .y1 y2 yn) (2) 当当X 0 时,时, X (0 .y1 y2 yn) 补 补 = 2+ X (0 .y1 y2 yn) (mod 2) = 2n+1+ X (0 .y1 y2 yn) (mod 2) = 2n+1 (0 .y1 y2 yn) + X (0 .y1 y2 yn) (mod 2) = (2n+1+ X) (0 .y1 y2 yn) (mod 2) = (2+ X) (0 .y1 y2 yn) (mod 2) = X 补 补 (0 .y1 y2 yn) (mod 2) 原码补码乘除法 = -y0*20 + (y1*20-y1*2-1) + (y2*2-1 -y
12、2*2-2) + + 补码一位乘法运算算法推导补码一位乘法运算算法推导 (比较法比较法) = (yi+1 - yi ) * 2-i X Y补 补 补 补 Y补 补 Y=(y0 y i * 2-i ) i=1 n 分分解为单项形式解为单项形式 = -y0*20 + y1*2-1 + y2*2-2 + + y n*2-n 变每位上的变每位上的 1为为 高高 1位上的位上的 1个个+1 加本位上的加本位上的 1个个-1 = (y1-y0)*20 + (y2-y1)*2-1 + + (yn+1-yn)*2-n 最低最低1位后再补位后再补1位位 合并同次幂的项合并同次幂的项 写成为求累加和形式写成为求累
13、加和形式 i=0 n 令令 yn+1 = 0 原码补码乘除法 补码一位乘法运算的实现补码一位乘法运算的实现(比较法比较法) 补码一位乘公式:补码一位乘公式: Z 补 补= X Y补 补 = 补 补 (- y0 yi 2-i ) = 补 补 (yi+1 - yi ) 2-i i=0 ni=0 n 部分积递推公式:部分积递推公式: Z0补 补= 0 Z1补 补= 2-1 Z0补补+ (yn+1 - yn) 补 补 (令 令 yn+1 = 0) Zi补 补= 2-1 Zi-1补补+ (yn-i+2 - yn-i+1) 补 补 Zn补 补= 2-1 Zn-1补补+ (y2 - y1) 补 补 Zn+1
14、补 补= Zn补补+ (y1 - y0) 补 补 = X Y补 补 原码补码乘除法 补码一位乘法运算的算法规则补码一位乘法运算的算法规则 (比较法比较法) yn yn+1= 00 时,时, Zi补 补= Zi-1补补+ 0, , 右移右移1位位; yn yn+1= 01 时,时, Zi补 补= Zi-1补补+ X补,补, 右移 右移1位位; ; yn yn+1= 10 时,时, Zi补 补= Zi-1补补+ -X补,补,右移 右移1位位; ; yn yn+1= 11 时,时, Zi补 补= Zi-1补补+ 0, , 右移右移1位;位; 补码一位乘算法规则:补码一位乘算法规则: X X、Y Y的
15、符号位都参加运算,部分积采用双符号位;的符号位都参加运算,部分积采用双符号位; 2. 2. 乘数最低位之后增加一位附加位乘数最低位之后增加一位附加位yn+1 ,且令,且令 yn+1=0; 3. 3. 每位部分积运算规则如下:每位部分积运算规则如下: 4. 4. 重复重复n+1n+1次比较和运算,但只进行次比较和运算,但只进行n n次右移,最后一次右移,最后一 次不移位。次不移位。 积符由运算过程自动产生。积符由运算过程自动产生。 原码补码乘除法 补码一位乘法运算实例补码一位乘法运算实例 已知已知: X补 补 = 0.1101 Y补补 = 0.1011 部分积部分积 乘数乘数 yn yn+1 0
16、 0. 0 0 0 0 0.1 0 1 1 0 +1 1. 0 0 1 1 1 1. 0 0 1 1 1 1. 1 0 0 1 1 0 1 0 1 1 1 1. 1 1 0 0 1 1 0 1 0 1 +0 0. 1 1 0 1 0 0. 1 0 0 1 0 0. 0 1 0 0 1 1 1 0 1 0 +1 1. 0 0 1 1 1 1. 0 1 1 1 1 1. 1 0 1 1 1 1 1 1 0 1 +0 0. 1 1 0 1 0 0. 1 0 0 0 1 1 1 1 0 清清0 则则 -X补 补 = 1.0011 X Y补 补 = 0.10001111 原码补码乘除法 补码一位乘硬件配
17、置及实例演示补码一位乘硬件配置及实例演示 (比较法)(比较法) 补码一位乘综合演示.swf 原码补码乘除法 设设 被乘数被乘数 X补 补 = x0 .x1 x2 x n 乘乘 数数 Y补 补 = y0 .y1 y2 y n 补码两位乘法的实现算法推导补码两位乘法的实现算法推导(比较法比较法) 由一位乘算法得:由一位乘算法得: Zi+2补 补= 2-12-1 Zi补补+ (yn-i+1 - yn-i) 补 补+ (yn-i - yn-i-1) 补 补 = 2-2 Zi补 补+ (yn-i+1 + yn-i - 2 yn-i-1) 补 补 结论:结论: 补码两位乘比较法的部分积运算由乘数相邻的补码
18、两位乘比较法的部分积运算由乘数相邻的 三位比较决定,运算后每次右移两位。三位比较决定,运算后每次右移两位。 Zi+1补 补= 2-1 Zi补补+ (yn-i+1 - yn-i) 补 补 原码补码乘除法 补码两位乘法运算的算法规则补码两位乘法运算的算法规则 (比较法比较法) yn-1 yn yn+1= 000 时,时, Zi+2补 补= Zi补补+ 0, , 右移右移2位位; yn-1 yn yn+1= 001 时,时, Zi +2补 补= Zi补补+ X补补, , 右移右移2位位; yn-1 yn yn+1= 010 时,时, Zi +2补 补= Zi补补+ X补补, , 右移右移2位位; y
19、n-1 yn yn+1= 011 时,时, Zi +2补 补= Zi补补+ 2X补补, , 右移右移2位位; yn-1 yn yn+1= 100 时,时, Zi +2补 补= Zi补补+ 2-X补补,右移 ,右移2位位; yn-1 yn yn+1= 101 时,时, Zi +2补 补= Zi补补+ -X补补, , 右移右移2位位; yn-1 yn yn+1= 110 时,时, Zi +2补 补= Zi补补+ -X补补, , 右移右移2位位; yn-1 yn yn+1= 111 时,时, Zi +2补 补= Zi补补+ 0, , 右移右移2位位; X X、Y Y的符号位都参加运算,部分积采用三位
20、符号位;的符号位都参加运算,部分积采用三位符号位; 乘数最低位之后增加一位附加位乘数最低位之后增加一位附加位yn+1 ,且令,且令yn+1=0; 每位部分积运算规则如下:每位部分积运算规则如下: 原码补码乘除法 补码两位乘法运算的算法规则补码两位乘法运算的算法规则(续续) (比较法比较法) 4. 4. 设乘数数值部分为设乘数数值部分为n n位,位, 当当n n为奇数时,乘数设为奇数时,乘数设1 1位符号位,做位符号位,做 (n+1)/2(n+1)/2次运算和移位,最后一步右移次运算和移位,最后一步右移1 1位;位; 当当n n为偶数时,乘数设为偶数时,乘数设2 2位符号位,做位符号位,做n/2
21、+1n/2+1 次运算和移位,最后一步不右移;次运算和移位,最后一步不右移; 积符由运算过程自动产生。积符由运算过程自动产生。 原码补码乘除法 补码两位乘法运算实例补码两位乘法运算实例 已知已知: X补 补 = 0.1101 Y补补 = 0.1011 部分积部分积 乘数乘数 yn yn+1 0 0. 0 0 0 0 0 1 0 1 1 0 +1 1. 0 0 1 1 1 1. 0 0 1 1 1 1. 1 0 0 1 1 0 1 0 1 1 1 1. 1 1 0 0 1 1 0 1 0 1 +0 0. 1 1 0 1 0 0. 1 0 0 1 0 0. 0 1 0 0 1 1 1 0 1 0
22、+1 1. 0 0 1 1 1 1. 0 1 1 1 1 1. 1 0 1 1 1 1 1 1 0 1 +0 0. 1 1 0 1 0 0. 1 0 0 0 1 1 1 1 0 清清0 1 1 1 部分积部分积 乘乘 数数 yn yn+1 0 0 0. 0 0 0 0 0 0.1 0 1 1 0 +1 1 1. 0 0 1 1 1 1 1. 0 0 1 1 1 1 1. 1 1 0 0 1 1 0 0 1 0 1 +1 1 1. 0 0 1 1 1 1 0. 1 1 1 1 1 1 1. 1 0 1 1 1 1 1 1 0 0 1 +0 0 0. 1 1 0 1 0 0 0. 1 0 0 0
23、1 1 1 1 0 0 清清0 2 12 则则 -X补 补 = 1.0011 X Y补 补 = 0. 原码补码乘除法 原原 码码 除除 法法 以定点小数为例以定点小数为例 基本公式:基本公式: 设设 被除数被除数 X原 原 = xf . x1 x2 x n 除除 数数 Y原 原 = yf . y1 y2 y n 则 则: : 若若 0 X Y X Y原 原 =( xf yf ). ( X* Y* ) 其中,其中, X* 和和Y*分别是分别是X和和Y的绝对值的绝对值 原码补码乘除法 例如:例如: X = 0.1011 Y = - 0.1101 笔算除法过程笔算除法过程 0.1101 0.1101
24、 0.10110 -0.01101 0.010010 -0.001101 0.00010100 -0.00001101 0.00000111 原码除运算方法分析原码除运算方法分析 以定点小数为例以定点小数为例 机器实现问题:机器实现问题: 1. 需单独设计比较器线路;需单独设计比较器线路; 2. 需需2n位的减法器线路。位的减法器线路。 解决方案:解决方案: 1. 比较操作改由比较操作改由“试减试减”实现;实现; 2. 将除数右移改为部分余数左移;将除数右移改为部分余数左移; 3. 减法由减法由+-Y补 补转化为加法实现。 转化为加法实现。 原码补码乘除法 被除数(余数)被除数(余数) 商商
25、说说 明明 0 0. 1 0 1 1 0. 0 0 0 0 + 1 1. 0 0 1 1 + -Y *补 补 (减除数 (减除数) 1 1. 1 1 1 0 余数余数 0, 商上商上1 0 1. 0 0 1 0 0 0 0 0 1 左移一位左移一位 + 1 1. 0 0 1 1 + -Y *补 补 0 0. 0 1 0 1 余数余数 0, 商上商上1 0 0. 1 0 1 0 0 0 0 1 1 左移一位左移一位 + 1 1. 0 0 1 1 + -Y *补 补 1 1. 1 1 0 1 余数余数 0, 商上商上1 例如:例如: X = -0.1011 Y = - 0.1101 X原 原= 1
26、.1011 Y原 原= 1.1101 X* = 0.1011 Y* = 0.1101 -Y*补 补 = 1.0011 恢恢 复复 余数余数 除除 法法 X/Y原 原=0.1101 R原 原=0.0111 2 2-4 -4 原码补码乘除法 原码加减交替除法原理证明原码加减交替除法原理证明 1. 若第若第 i - 1次求商,余数为次求商,余数为 R i-1 0 , 本次商上本次商上1,且余数左移,且余数左移 1 位得位得 2R i-1 ; 2. 第第 i 次求商,余数为次求商,余数为 R i =2R i-1 Y*, 若若R i 0, ,则则商商 上上1,跳至跳至3 3; 若若R i 0, 则商则商
27、0,恢复余数为正且左移得,恢复余数为正且左移得 2(R i + Y*), 跳至跳至4; 3. 第第 i + 1次求商,余数为次求商,余数为 R i+1 = 2 R i Y* 4. 第第 i + 1次求商,余数为次求商,余数为 R i+1 = 2( R i + Y* ) Y* = 2R i + Y* 实质实质: : 对上次的负余数值直接左移一位对上次的负余数值直接左移一位, , 本次用本次用+Y* 求商即可。求商即可。 原码补码乘除法 原码加减交替除法算法规则原码加减交替除法算法规则 1.1.除法运算前,应满足条件:除法运算前,应满足条件:X X* *YY* *, ,且且Y Y* *0,0,否否
28、 则,按溢出或非法除数处理;则,按溢出或非法除数处理; 2.2.符号位不参与运算,单独处理:符号位不参与运算,单独处理:q qf f= x= xf f y yf f ; ; 3.3.部分余数采用单符号位或双符号位;部分余数采用单符号位或双符号位; 4.4.每步部分余数运算规则:每步部分余数运算规则: 试减试减 X* +- +-Y * 补 补 余数为正,商上余数为正,商上1 1,余数和商左移一位,减除数;,余数和商左移一位,减除数; 余数为负,商上余数为负,商上0 0,余数和商左移一位,加除数;,余数和商左移一位,加除数; 5.5.第第n+1n+1步:若余数为正,商上步:若余数为正,商上1 1,
29、商左移一位;,商左移一位; 若余数为负,商上若余数为负,商上0 0,商左移一位,但当结果需,商左移一位,但当结果需 要余数时,需恢复余数,要余数时,需恢复余数,R = = R n 2 2-n -n 。 。 重复重复n n步步 原码补码乘除法 被除数(余数)被除数(余数) 商商 说说 明明 0 0. 1 0 1 1 0. 0 0 0 0 + 1 1. 0 0 1 1 + -Y *补 补 (减除数 减除数) 1 1. 1 0 1 1 余数余数 0, 商上商上1 0 1. 0 0 1 0 0 0 0 0 1 左移一位左移一位 + 1 1. 0 0 1 1 + -Y *补 补 0 0. 0 1 0 1
30、 余数余数 0, 商上商上1 0 0. 1 0 1 0 0 0 0 1 1 左移一位左移一位 + 1 1. 0 0 1 1 + -Y *补 补 1 1. 1 1 0 1 余数余数 0, 商上商上1 0 1 1 0 1 商商左移一位左移一位 例如:例如: X = -0.1011 Y = - 0.1101 X原 原= 1.1011 Y原 原= 1.1101 X* = 0.1011 Y* = 0.1101 -Y*补 补 = 1.0011 加减交替加减交替 除除 法法 X/Y原 原= 0.1101 R = 0.0111 2 2-4 -4 原码补码乘除法 原码加减交替除法原码加减交替除法 运算过程演示运
31、算过程演示 原码加减交替除法控制流程及实例.swf 原码补码乘除法 原码加减交替除法运算的原码加减交替除法运算的 基本硬件配置基本硬件配置 0 A n 加法器加法器(n+1位位) 控控 制制 门门 GD 0 Q n 计数器计数器CV 1 f 0 X n 移位和加移位和加/减减 控制逻辑控制逻辑 Y*或或 -Y *补 补 +1 原码补码乘除法 补码除法运算补码除法运算 算法思想:算法思想: 被除数与除数为补码表示,被除数与除数为补码表示, 直接用补码除,求出反码商,直接用补码除,求出反码商, 再修正为近似的补码商。再修正为近似的补码商。 主要解决:主要解决: 上值的确定;上值的确定; 求商符;求
32、商符; 获得新余数;获得新余数; 商的校正。商的校正。 原码补码乘除法 补码除法算法分析补码除法算法分析 (1) (1) 商和新余数的确定商和新余数的确定 上商的过程实际上时比较被除数(余数)和除数所上商的过程实际上时比较被除数(余数)和除数所 对应绝对值大小的过程。对应绝对值大小的过程。 若若X X与与Y Y同号:做减法,即同号:做减法,即 R0补 补 =X补补 +-Y补补 够减:够减:R0 与与Y 同号,商上同号,商上1,左移一位,减除数。,左移一位,减除数。 即即 R1补 补 =2R0补补 +-Y补补 。 不够减:不够减:R0 与与Y 异号,商上异号,商上0,左移一位,加除数。,左移一位
33、,加除数。 即即 R1补 补 =2R0补补 +Y补补 。 原码补码乘除法 补码除法算法分析(续补码除法算法分析(续1) 若若X X与与Y Y异号:做加法,即异号:做加法,即 R0补 补 =X补补 +Y补补 够减:够减:R0 与与Y异号,商上异号,商上0,左移一位,加除数。,左移一位,加除数。 即即 R1补 补 = 2R0补补 +Y补补 。 。 不够减:不够减:R0 与与Y同号,商上同号,商上1,左移一位,减除数。,左移一位,减除数。 即即 R1补 补 = 2R0补补 +-Y补补 。 。 同样的分析方法,可以得出如下结论:同样的分析方法,可以得出如下结论: Ri 与与Y同号,商上同号,商上1,
34、Ri+1补 补 = 2Ri补补 +-Y补补 ; Ri 与与Y异号,商上异号,商上0, Ri+1补 补 = 2Ri补补 +Y补补 。 。 原码补码乘除法 补码除法算法分析(续补码除法算法分析(续2) (2) (2) 求商符求商符 由于运算前,满足由于运算前,满足 0 0 X Y 所以第一次试减后的上商结果为:所以第一次试减后的上商结果为: 若若X X与与Y Y同号:不够减,即同号:不够减,即R0 与与Y异号,商上异号,商上0 ; 若若X X与与Y Y异号:不够减,即异号:不够减,即R0 与与Y同号,商上同号,商上1 。 因此,商符由第一次因此,商符由第一次试减后自动形成,且与商的数试减后自动形成
35、,且与商的数 值位上商规则相同。值位上商规则相同。 原码补码乘除法 补码除法算法分析(续补码除法算法分析(续3) (3) (3) 商的校正商的校正 从前面的分析知:当商为负时,算法以反码形式上从前面的分析知:当商为负时,算法以反码形式上 商,而按补码运算要求,应得商的补码,两者之间相商,而按补码运算要求,应得商的补码,两者之间相 差差2 2-n -n。为了最终得到补码商,通常采用商末位 。为了最终得到补码商,通常采用商末位“恒恒 置置1”1”的舍入方法进行处理。采用这种方法产生的误的舍入方法进行处理。采用这种方法产生的误 差为:差为: 2 2-n -n。这种方法简单,便于实现,运算后不 。这种
36、方法简单,便于实现,运算后不 需要对商校正。需要对商校正。 原码补码乘除法 补码加减交替除法算法规则补码加减交替除法算法规则 1.1.除法运算前,应满足条件:除法运算前,应满足条件:X X* *YY* *, ,且且Y Y* *0,0,否否 则,按溢出或非法除数处理;则,按溢出或非法除数处理; 2.2.符号位参与运算,商符由运算自动产生符号位参与运算,商符由运算自动产生; ; 3.3.部分余数采用单符号位或双符号位;部分余数采用单符号位或双符号位; 4.4.每步部分余数运算规则:每步部分余数运算规则: 试减:试减: X X、Y Y同号,做减法;同号,做减法; X X、Y Y同号,做加法;同号,做
37、加法; 5.5.第第n+1n+1步:商恒置步:商恒置1 1,商左移一位。,商左移一位。 重复重复n n步步 上商:上商: 余数与余数与Y Y同号,商上同号,商上1 1,余数和商左移一位,做减法;,余数和商左移一位,做减法; 余数与余数与Y Y异号,商上异号,商上0 0,余数和商左移一位,做加法;,余数和商左移一位,做加法; 若要求求余数:若要求求余数: 若余数与若余数与Y Y同号,除法结束。同号,除法结束。 若余数与若余数与Y Y异号,应恢复余数,方法同上。异号,应恢复余数,方法同上。 R = = R n 2 2-n -n 原码补码乘除法 被除数(余数)被除数(余数) 商商 说说 明明 1 1
38、. 0 1 1 1 0. 0 0 0 0 X与与Y异号异号 + 0 0. 1 1 0 1 +Y补 补 0 0. 0 1 0 0 余数与余数与Y同号同号, 商上商上1 0 0. 1 0 0 0 0 0 0 0 1 左移一位左移一位 + 1 1. 0 0 1 1 +-Y补 补 1 1. 1 0 1 1 余数与余数与Y异号异号, 商上商上0 1 1. 0 1 1 0 0 0 0 1 0 左移一位左移一位 + 0 0. 1 1 0 1 + Y补 补 0 0. 0 0 1 1 余数与余数与Y同号同号, 商上商上1 0 0. 1 0 1 0 0 0 1 0 1 左移一位左移一位 + 1 1. 0 0 1
39、1 + -Y补 补 1 1. 1 0 0 1 余数与余数与Y异号异号, 商上商上0 1 1. 0 0 1 0 0 1 0 1 0 左移一位左移一位 1.0 1 0 1 商末位恒置商末位恒置1, 商左移一位商左移一位 例如:例如: X = -0.1001 Y = +0.1101 X补 补 = 1.0111 Y补 补= 0.1101 -Y补 补 = 1.0011 补码加减补码加减 交替除法交替除法 X/Y补 补= 1.0101 R补 补= 1.0010 2 2-4 -4 原码补码乘除法 补码加减交替除法补码加减交替除法 运算过程演示运算过程演示 补码加减交替除法控制流程及实例.swf 原码补码乘除法 三、快速乘除法运算三、快速乘除法运算 已经讲过的原码或补码一位乘除法运算,已经讲过的原码或补码一位乘除法运算, 采用的是逐位循环迭代算法,完成时间直接取采用的是逐位循环迭代算法,完成时间直接取 决于数据的位数,当位数较多时,用时较长。决于数据的位数,当位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山东省临沂商城外国语校初三教学测试(一)生物试题含解析
- 2026届济南市天桥区重点中学初三第二次月考试题含解析
- 2026年各地陆海统筹可复制经验做法典型案例汇编
- 苏州市吴江区达标名校2026届高中毕业生五月供题训练化学试题试卷含解析
- 河北省邢台市名校2025-2026学年初三第一次调查研究考试(4月)化学试题含解析
- 2026年千元级激光雷达与纯视觉方案成本优势
- 2026年偏远地区通信覆盖难题破解:6G非地面网络从设计之初即集成
- 美容院顾客服务专员操作指南
- 新浪网络推广策划与时间安排表
- 京东集团内部品牌管理流程规范
- 西方心理学史课件
- 入职体检肝功能查询报告
- CPK-数据自动生成器
- 商业运营管理培训课件
- 国防科技大学宣讲ppt
- 闽教版小学英语五年级下册校本作业
- 自制中外对比旧约历史年代对照表
- 结构化面试答题套路90结构化面试题型及答题套路
- GB 20922-2007城市污水再生利用农田灌溉用水水质
- FZ/T 43008-2012和服绸
- 浓密池专项施工方案
评论
0/150
提交评论