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

本文详细解析了补码一位乘法的计算过程,包括如何根据x,y的值写出补码,部分积的初始化,以及乘数和被乘数的移动规则。通过实例讲解了当乘数和被乘数均为负数时的复杂情况处理。

个人总结观点,如有问题欢迎指出,作为小白,会在批评中努力成长!
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]补进行校正。
有问题可直接私聊!!
希望大家多多批评指正。

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值