计算机中的负数

2021-08-02  本文已影响0人  孤独面壁者

计算机中负数的表示很麻烦,比如-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  补码是 1111 1101  (第253个)

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读