原文链接:https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html 作者:张子秋
—原码,原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值,如[+1]原 = 0000 0001,[-1]原 = 1000 0001。
—反码,正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。
—补码,正数的补码就是其本身,负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
—使用补码, 不仅仅修复了0的符号以及存在两个编码的问题, 而且还能够多表示一个最低数. 这就是为什么8位二进制, 使用原码或反码表示的范围为[-127, +127],
而使用补码表示的范围为[-128, 127],即使用以前的-0的补码来表示-128.
—在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理