正数:

    • 正数的原码、反码、补码都是该数字的二进制表示。

    负数:

    • 原码是该数字的二进制表示
    • 反码是符号位不变,数值位取反
    • 补码是符号位不变,数值位在反码的基础上加1

    源码反码补码之间的相互转换:
    对于正数而言:

    • 没有区别:正数的原码 = 反码 = 补码

    对于负数而言:

    • 原码反码之间的转换:符号位不变,数值位取反
    • 反码补码之间的转换:反码=>补码:反码+1;补码=>反码:补码-1;
    • 原码与补码之间的转换:

    法一:
    (1):补码先-1,得到反码;
    (2):反码进行符号位不变,数值位取反的操作得到原码
    法二:
    (1):先符号位不变,数值位取反
    (2):然后+1得到原码
    理解方式:
    先-1再取反与先取反再+1效果是等价的,类似于-(5 - 1)= -5 + 1;