天天即时看![教程] 从二进制开始手搓CPU ③ - 原码、反码、补码与电路加减法
2023-01-31 22:58:28    哔哩哔哩

本文目录

电路中的加法

原码、反码、补码

电路中的加法

加法也是一个二元运算,会不会刚好是一种逻辑运算?


(资料图)

对此,我们列出加法表:

但是,在产生了进位,结果是两位数,显然不同于任何逻辑运算。但是,我们发现,如果不看进位,是异或运算;如果我们只看进位,是与运算。于是,我们设计出一位加法器:

我们把它称为半加器,为本位输出,为进位输出。

但是半加器对于进位并没有再次相加,于是我们需要两个半加器组成全加器:

是进位输入,是本位输出,是进位输出。

我们用全加器组成完整的加法器:

因为它是一位一位出结果的,所以我们把它叫为行进波进位加法器。

原码、反码、补码

我们前面所讲的所有二进制数都是原码。

我们之前所讲的二进制数都是正数,但是我们不知道怎么表示负数。

于是我们把一个二进制数的最高位变为符号位,表示负数,表示正数。

例如。

符号位权值为负数。

但是这样的负数直接与正数相加会产生错误结果,于是有了反码与补码。

反码在原码基础上保留符号位,其余位按位取反,比如。

补码在反码基础上加上,比如。

在计算机中,正数用原码存储,负数用补码存储。

正数原码加负数补码得到正确的结果,我们利用这点可以用加法器计算减法。

关键词: 二进制数 于是我们 进位输出

上一篇:北京回龙观社区卫生服务中心可以打扩龄九价HPV疫苗吗?
下一篇:虎门销烟在哪一年哪一日_虎门销烟是哪一年哪一月哪日?