计算机中的负数

计算机中负数的表示很麻烦,比如-1

step1 :确认原码

-1的原码是1000 0001,其中最高位1是符号位,1表示负数,0表示正数;

step2:取反码

然后取反码,正数的反码就是自身,但是负数的反码就需要将对应的1变为0,0变为1,但是符号位不变。

1000 0001 -->1111 1110

step3:计算补码

补码就是在反码的基础上+1, -1的反码是1111 1110,那么对应补码就是1111 1111

仔细观察就可以发现有如下规律:

-1补码是1111 1111(第255个)

-2补码是1111 1110(第254个)

-3补码是1101(第253个)

当初为了用255个数表示正数、负数、和0,

那么前1~127表示正数,范围是(1~127)

第128~255个数表示负数,范围是(-127 ~-1)

反码+补码的 本质就是表示 第n个数对应到第 255-n+1个数的变换算法。

你可能感兴趣的:(计算机中的负数)