定点运算总结大全(建议收藏,收藏不亏!)

一、原码的加减运算

如果直接根据原码运算,那运算强度会高,如下图所示

在这里插入图片描述

因此采用原码的补码进行原码的加减运算

  • 1、补码加减运算的基本公式

加法:
[A]补 + [B]补 = [A+B]补
减法:
[A-B]补 = [A] - [-B]补

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

  • 2、由[B]补求[-B]补:

连同符号位在内,全部取反后+1

  • 3、将补码换为原码方法

1.正数补:正数的补码即为原码
2.负数补:
a.数值位取反末尾+1 (注意符号位不要取反!!!)
b.在数值位最右边的1不变,以这个1为分界线,它的左边全部取反

二、溢出的判断

1、什么是溢出

在这里插入图片描述

由上图可知 A+C应该等于139;B-C应该等于-148
但是由于8位只能表示 +128 ~ -127
只有“正数+正数”才会上溢——正+正=负
只有“负数+负数”才会下溢——负+负=正

扫描二维码关注公众号,回复: 14308744 查看本文章

2、溢出的判断

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

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

三、原码乘法

在这里插入图片描述

计算步骤:
1.原码符号位进行异或运算,最后再加入
2.原码数值位进行一位乘法运算
步骤:
a.若乘数(低位部分积)最低位是1,则给被乘数(高位部分积)加上乘数原码;若乘数最低为是0,则给被乘数加上0.
b.每进行一轮加法后,乘数和被乘数整体逻辑右移,乘数最低位被舍弃,被乘数的最低位变成乘数的最高位,一共进行n轮加法,n为被乘数数值位数.

拓展:运算器的运算原理
在这里插入图片描述
在这里插入图片描述

四、补码乘法运算

在这里插入图片描述

五、原码除法

1.恢复余数法

缺点:每当余数为负,都需要恢复余数,延长了机器的除法时间,操作也很不规则,对线路结构不利

在这里插入图片描述

步骤:
1.将x,y的绝对值算出;再取得 [|y|]补[|-y|]补
2. x+[|-y|]补 得出下一步,若其符号位是1,即余数为负,则商0,恢复余数,然后逻辑左移加上 [|y|]补 ;若其符号位是0,即余数为正,则商1,直接逻辑左移再次进行步骤2
3.左移N次,上商N+1次,最后一次上商,但不用逻辑左移
4.商的符号位X的符号位与Y的符号位异或所得A
5.[X/Y]原=A.取商的后N位

在这里插入图片描述

2.加减交替法(不恢复余数法)

六、补码除法

在这里插入图片描述

因此[X/Y]=1.0101

七、除法总结

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Alan_King79/article/details/116209754