x=0.1011 y=-0.1001 用补码一位乘法和补码两位乘法计算X*Y的结果有什么区别,具体怎么算?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 17:00:19

x=0.1011 y=-0.1001 用补码一位乘法和补码两位乘法计算X*Y的结果有什么区别,具体怎么算?
x=0.1011 y=-0.1001 用补码一位乘法和补码两位乘法计算X*Y的结果有什么区别,具体怎么算?

x=0.1011 y=-0.1001 用补码一位乘法和补码两位乘法计算X*Y的结果有什么区别,具体怎么算?
没区别,两位乘法复杂点.具体两位乘法忘了.因为没必要纠结这个.要考试的话一般都是考存储和指令子类的,一位的话给你发个例题吧.
原码一位乘法中,符号位与数值位是分开进行计算的.运算结果的数值部分是乘数与被乘数数值位的乘积,符号是乘数与被乘数符号位的异或.原码一位乘法的每一次循环的操作是最低位为1,加被乘数的绝对值后右移1位;最低位为0,加0后右移1位.几位乘法就循环几次.
「答案」:
x原=00011,y原=10101,|x|=0011, |y|=0101结果的符号位1 0=1
循环 步骤 乘积(R0 R1)
0 初始值 0000 0101
1 加0011 0011 0101
右移1位 0001 1010
2 加0 0001 1010
右移1位 0000 1101
3 加0011 0011 1101
右移1位 0001 1110
4 加0 0001 1110
右移1位 0000 1111
所以结果为-00001111
补码的话把原码变成补码算就行