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

 我来答
自考生Z2011
2010-12-30 · 超过10用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:0
展开全部
没区别,两位乘法复杂点。具体两位乘法忘了。因为没必要纠结这个。要考试的话一般都是考存储和指令子类的,一位的话给你发个例题吧。
原码一位乘法中,符号位与数值位是分开进行计算的。运算结果的数值部分是乘数与被乘数数值位的乘积,符号是乘数与被乘数符号位的异或。原码一位乘法的每一次循环的操作是最低位为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
补码的话把原码变成补码算就行
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式