当前位置: 代码迷 >> 综合 >> 如何理解2进制补码表示负数
  详细解决方案

如何理解2进制补码表示负数

热度:53   发布时间:2024-01-22 06:12:19.0

首先,如果表示正数

那么N位 ,表示的最大正数就是2^N -1 

也就是说,如果是一个字节,8bit, 最大表示的正数是255

如果表示为负数 最大表示范围是 -2^(N-1) ~ 2^(N-1) - 1

也就是说,如果按照绝对值计算,负数的绝对值加上正数的绝对值,

2^(N-1)  + 2^(N-1) - 1 就变成了2^N -1 

求负数的2进制补码表示形式,先求正数的二进制形式,然后每一位再反转,然后再加1即可。

在计算机中,所有的数据都是以补码的形式来存在的,别提什么原码,反码什么的,记得头疼。只要记住补码就可以了。因为所有数据本来就是以补码存在的,那就只要记住一个就行。

那为什么要以补码的形式来存在呢?那个天才想出来这种存储方法的呢?

参考这个帖子,讲的很详细:



一张时钟图 一分钟理解 计算机补码_旅行呱呱的博客-CSDN博客

我之所以理解钟表的方法表示补码,是我读研的时候,我们老师给我们讲的,当时讲完了之后豁然开朗。

  相关解决方案