原码、反码和补码

在计算机内,有符号数有3种表示法:原码、反码和补码

有符号数 是针对二进制来讲的,用最高位作为符号位。
“0”代表“+”,“1”代表“-” ;其余数位用作数值位,代表数值。

原码: 最高位为符号位(0表示正,1表示负),其余位表示数值的大小。

反码: 反码通常是用来由原码求补码或者由补码求原码的过渡码。最高位为符号位(0表示正,1表示负)。当原码为正数时,反码和原码一致;当原码为负数时,符号位不变,其余各位取反,得到的就是反码。

补码: 最高位为符号位(0表示正,1表示负)。当原码为正数时,补码和原码一致;当原码为负数时,补码等于数值的反码加一。


下面通过实际例子来巩固下:

我们以 十进制数值 7 和 -7 为例

数值 原码 反码 补码
7 0000 0111 0000 0111 0000 0111
-7 1000 0111 1111 1000 1111 1001

注意:在计算机系统中,数值一律用补码来表示和存储。

你可能感兴趣的:(原码、反码和补码)