补码一位乘法运算——个人总结方法

个人总结观点,如有问题欢迎指出,作为小白,会在批评中努力成长!
1.运算法则
首先,根据题中所给的x,y的值依据补码的相关定义,写出x,y的补码,同时写出被乘数 例:[-x]的补码 (要带上符号位哦)
然后书写部分积(部分积的初始值为00.0000)乘数 (y的小数点后的值)

补码一位乘法计算的关键主要在于位置的移动,此方法为被乘数x,和乘数y的同时移动进行计算,乘数始终保持和原来相同的位数,在被乘数进行计算以后,找到运算后的最后一位,把被乘数的最后一位,移动到乘数的第一位上

第一步:如果乘数的最后一位如果是1的话,部分积加上【x】的补码,如果乘数最后一位是0的话,相当于没变直接进行第二步操作。
第二步:(挺关键的如果看不懂下面有例题)
向右移动——在第一步所得到的被乘数最后一位充当乘数的第一位,乘数的最后一位舍掉;
被乘数最左边填的值:
如果x是负数的话,最左边填1;如果x是正数的话,最左边填0;
以此类推。。。移动到原先乘数的第一位停止,得到的值就是最后的答案

观点不多,例题来凑:
X=-0.1101 Y=-0.1001 求 X x Y 的值
在这里插入图片描述
这是一道乘数和被乘数都是负数的一个问题,也是比较复杂的了。
补充:
当乘数为正时,可按原码一位乘法的规则运算,结果不需要校正。
当乘数为负时,先把[y]补的符号位丢掉不管,仍按原码一位乘运算,最后 加[–X]补进行校正。
有问题可直接私聊!!
希望大家多多批评指正。

发布了2 篇原创文章 · 获赞 4 · 访问量 60

猜你喜欢

转载自blog.csdn.net/qq_45078384/article/details/104942957