原码和补码详解,绝对能听懂!!!!

您所在的位置:网站首页 补码转换原码 原码和补码详解,绝对能听懂!!!!

原码和补码详解,绝对能听懂!!!!

2023-12-27 18:59| 来源: 网络整理| 查看: 265

原码和补码

原码

我们知道,在计算机里只有高电压和低电压的差别,也就是计算机只有0 或者 1。计算机的计算只支持二进制,那么十进制的计算在计算机里是如何进行的呢?

首先,如果要计算十进制的数据,我们首先要把它切换成二进制数据。

就比如 十进制数 2在二进制中表示为:

0000 0010

但显而易见 负数是没办法用这种方法表示的。

于是,我们就需要一个特殊的位来表示正负,第一个占位理所应当就成了表示正负的占位。1表示负数 0表示正数

-2 用二进制表示为:

1000 0010

这就是原码,一种可以表示正负的二进制数。

上面的原码仍存在一个问题,当进行二进制加法的时候。在某些极端情况,不可避免地会出现运算错误。

例如:2 +(-2)

0000 0010 + 1000 0010 ------------- 1000 0100

结果为 -4 显然不成立

于是,原码变出现了差错。

此时,就需要补码!

补码

上述问题,我们可以换一种思维来解决这个问题。

我们还拿 2和(-2)举例子。

0000 0010 + xxxx xxxx ------------ 0000 0000

我们可以以此反过来求 这一堆x 是多少 这一堆 x 代表的就是-2 的二进制补码

易得 那一堆 x为:

1111 1110

反过来,我们也可以通过补码来通过这个补码来判断它的正负 。

例如1111 1110的第一个位数为1 ,该二进制数就为负数。但我们没办法通过补码来得知这堆补码所代表的是哪个数 。

所以,就需要我们把他转换为 原码的绝对值。

计算方法为:减0000 0001再取反

实际计算:

1111 1110 -0000 0001 ----------- 1111 1101

取反

0000 0010

这个数的绝对值是 2 ,又因为我们通过它的补码知道它是负数,所以为-2。

总结:

1.负数表示需要补码,算出补码的方式如下:

该数绝对值的原码 取反 加0000 0001

补码算回的方法跟上上面说的公式相反,和上面的例子一致。

2.正数和0的补码和原码一致。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3