简单了解原码、反码、补码

    技术2022-07-11  94

    原码、反码、补码

    在前面一个章节中,我们已经了解到了:数据是以二进制的形式进行存储的,我们并没有考虑到负数是以什么样的状态存储的,这一章我们就来了解有符号的数据是以什么样的形式进行存储的,由此,我们引入了原码的概念,发现并不能解决负数的存储,又引入了反码的概念,然而,会出现-0和+0两种情况,那该怎么办呢?别急,在本章节中将会解决此问题。

    原码

    表示

    正数的最高位表示0;

    负数的最高位表示1;

    其他位为数值位;

    举例:+7

    ​ 符号位 数值位

    ​ 0 0000111

    ​ -7

    ​ 符号位 数值位

    ​ 1 0000111

    反码

    表示

    正数的反码与原码相同;

    负数的反码与原码符号位相同,数值位取反,就是0变1,1变0。

    举例:+7

    ​ 符号位 数值位

    ​ 0 0000111

    ​ -7

    ​ 符号位 数值位

    ​ 1 1111000

    补码

    计算机中的数据的计算都是以二进制补码的形式来计算的

    表示

    正数的补码与反码相同;

    负数的补码与反码符号位相同,数值位加1。

    举例:+7

    ​ 符号位 数值位

    ​ 0 0000111

    ​ -7

    ​ 符号位 数值位

    ​ 1 1111001

    Processed: 0.018, SQL: 9