计组笔记: 二进制定点运算的机器算法(原码的乘法)

一. 运算规则

注:逻辑移动 : 变符号位
算数移动 : 符号位不变
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二. 加法

在这里插入图片描述


在这里插入图片描述
注:我们在算负数的补码的时候,是符号位不变,剩下的取反加一
但是在算 [-x] 的补码的时候,所有位都要取反


例:
在这里插入图片描述
在这里插入图片描述

三. 乘法

在这里插入图片描述
在这里插入图片描述
注:部分积从0.0000开始,然后从双下划线开始乘A,之后与之前的部分积相加,然后右移一位,溢出的部分补到乘数去
例:第一步的双下划线是1,1 * A = 0.1101,与之前的0.0000相加,就是0.1101,然后右移一位,就变成了0.0110,多出来的1去了乘数的部分。最后等乘数全变成了1111,答案就是 0.1000 1111


在这里插入图片描述
在这里插入图片描述
注:最后求原码的时候要把符号补上

四. 两位数的乘法

在这里插入图片描述

在这里插入图片描述
注:乘数是010,但这是乘1,所以乘x就是000.111111,与之前的相加就是000.111111,然后右移两位。
这个时候乘数是100,就是乘2,也就是x左移一位,x变成001.111110,与之前的相加,得到010.001101。
然后右移两位变成000.100011。
乘数变成110,就是乘3,也就是减1,也就是加 [-x],求[-x]的补码就是给x所有取反+1,就是111.000001,然后相加得到111.100100。
这个时候得到的数是负数,右移两位是最高位补1,就是111.111001,乘数变成001,一倍的x,相加就是000.111000,乘数是000111,最后的答案就是0.111000000111,算上符号就是1.111 000 000 111

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值