3年)32.用 Booth 算法计算7×(-3)。要求写出每一步运算过程及运算结果。
参考2001年考题
(2004年)32. 用原码的乘法方法进行 0110×0101 的四位乘法。要求写出每一步运算过程及运算结果。
参考2002年考题
(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.
(2000年)1.在原码一位乘中,当乘数Yi为1时,( )。
A.被乘数连同符号位与原部分积相加后,右移一位
B.被乘数绝对值与原部分积相加后,右移一位
C.被乘数连同符号位右移一位后,再与原部分积相加
D.被乘数绝对值右移一位后,再与原部分积相加
「分析」:原码一位乘法中,符号位与数值位是分开进行计算的。运算结果的数值部分是乘数与被乘数数值位的乘积,符号是乘数与被乘数符号位的异或。数值位相乘时,当乘数某位为1时,将被乘数绝对值与原部分积相加后,右移一位。
「答案」:B
(2001年)7.原码乘法是( )。
A.先取操作数绝对值相乘,符号位单独处理
B.用原码表示操作数,然后直接相乘
C.被乘数用原码表示,乘数取绝对值,然后相乘
D.乘数用原码表示,被乘数取绝对值,然后相乘
「分析」:原码一位乘法中,符号位与数值位是分开进行计算的。运算结果的数值部分是乘数与被乘数数值位的乘积,符号是乘数与被乘数符号位的异或。
「答案」:A
8.原码加减交替除法又称为不恢复余数法,因此( )。
A.不存在恢复余数的操作
B.当某一步运算不够减时,做恢复余数的操作
C.仅当最后一步余数为负时,做恢复余数的操作
D.当某一步余数为负时,做恢复余数的操作
「分析」:在用原码加减交替法作除法运算时,商的符号位是由除数和被除数的符号位异或来决定的,商的数值是由除数、被除数的绝对值通过加减交替运算求得的。由于除数、被除数取的都是绝对值,那么最终的余数当然应是正数。如果最后一步余数为负,则应将该余数加上除数,将余数恢复为正数,称为恢复余数。
「答案」:C
(2002年)5.原码乘法是指( )。
A.用原码表示乘数与被乘数,直接相乘
B.取操作数绝对值相乘,符号位单独处理
C.符号位连同绝对值一起相乘
D.取操作数绝对值相乘,乘积符号与乘数符号相同
答案:B
六、逻辑运算:
(2005年)5.已知一个8位寄存器的数值为11001010,将该寄存器小循环左移一位后,结果为( )。