其特点是运算过程中如出现不够减,则不必恢复余数,根据余数符号,可以继续往下运算,
因此步数固定,控制简单。
原码加减交替法的规则是:
当余数为正时,商“1”,余数左移一位减除数;
当余数为负时,商“0”,余数左移一位,加除数。
[x]原
=
[x]补
=
0.1001,[y]原
=
[y]补
=
0.1011,[-
y]补
=
1.0101
被除数x/余数r
商数q
说明
0
0.1
0
0
1
+[-y]补
1
1.0
1
0
1
x减y
----------------------------------------------------------------
1
1.1
1
1
0
余数r0<0,商0
←
1
1.1
1
0
0
0
商0,r和q左移一位
+[y]补
0
0.1
0
1
1
加y
----------------------------------------------------------------
0
0.0
1
1
1
余数r1>0,商1
←
0
0.1
1
1
0
0.1
商1,r和q左移一位
+[-y]补
1
1.0
1
0
1
减y
----------------------------------------------------------------
0
0.0
0
1
1
余数r2>0,商1
←
0
0.0
1
1
0
0.1
1
商1,r和q左移一位
+[-y]补
1
1.0
1
0
1
减y
----------------------------------------------------------------
1
1.1
0
1
1
余数r3<0,商0
←
1
1.0
1
1
0
0.1
1
0
商0,r和q左移一位
+[y]补
0
0.1
0
1
1
加y
----------------------------------------------------------------
0
0.0
0
0
1
余数r4>0,商1
1
1
0
1
商1,仅q左移一位
所以
x
/
y
的商
[q]原
=
0.1101,余数[r]原
=
0.00000001
这就是加减交替法的基本步骤,希望对你有帮助。
这完全可以看教橘侍材,另,没圆梁吵积分不怎么想回答.给你发个例题吧(2005年)32.用原码加减交替一位除法进行7÷2运算.要求写出每一步渣伏运算过程及运算结果.
「分析」:是教材P46原题
「答案」:
7的原码0111,3的原码0011,结果符号是0 0=0
原码加减交替除法求x/y的分步运算过程.
循环 步骤 余数(R0 R1)
0 初始值 0000 0111
左移,商0 0000 1110
1 减0011 1101 1110
加0011,商0 0000 1110(0)
左移1位 0001 1100
2 减0011 1110 1100
加0011,商0 0001 1100(0)
左移1位 0011 1000
3 减0011 0000 1000
商1 0000 1000(1)
左移1位 0001 0001
4 减0011 1110 0001
加0011,商0 0001 0001(0)
左移1位 0010 0010
R0右移1位 0001 0010
所以,商是0010,即2;余数是0001,即1.
由上可见,定点数乘除法计算题每年必考(10分),同学除了掌握已经考过的三种题型外,还要特别注意原码恢复余数除法的计算过程,教材P44页例题:计算7/2.我们利用这种方法计算一下7/3.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)