计算机组成原理2023/11/28

原码除法-加减交替法

x÷y,x=11000,y=-11111

由于要转换成浮点型计算,将其乘以10-5

x=0.11000 y=-0.11111

[x]原=0.11000 [y]原=1.11111

符号位单独拿出来计算1⊕0=1,也就是结果为负数

[|x|]补=0.11000 [|y|]补=0.11111 [-|y|]=1.00001

下面是计算过程:

[x]原 0.11000 被除数x
+[-y*2-0]补 1.00001 第一步减除数y


1.11001 q0=0 余数<0 商0,做加法
+[y*2-1]补 0.011111 除数右移1位


0.010001 q1=1 余数>0 商1,做减法
+[-y*2-2]补 1.1100001 除数右移2位


0.0000011 q2=1 余数>0 商1,做减法
+[-y*2-3]补 1.11100001 除数右移3位


1.11100111 q3=0 余数<0 商0,做加法
+[y*2-4]补 0.000011111 除数右移4位


1.111101101 q4=0 余数<0 商0,做加法
+[y*2-5]补 0.0000011111 除数右移5位


1.1111111001 q5=0 余数<0 商0,做加法
+[y*2-6]补 0.00000011111 除数右移6位


这里可以看到多次做运算都是商0了,所以取到上面一个余数为正数的结果

q=q0.q1q2q3q4q5=0.11000

r=0.0000011

x和y同时乘以10-5,所以其比例关系不变也就是商不变,余数需要乘以10-5

所以x÷y=-0.11,余数为0.11


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注