原码和补码

Posted geeklee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原码和补码相关的知识,希望对你有一定的参考价值。

原码和补码

1. 原码

原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值

[+1]原 = 0000 0001

[-1]原 = 1000 0001

第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:[1111 1111 , 0111 1111],即[-127,127]

2. 补码

补码的表示方法是:

正数的补码就是其本身

负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

[+1] = [00000001]原 = [00000001]反 = [00000001]补

[-1] = [10000001]原 = [11111110]反 = [11111111]补

原码反码补码

以下原码补码反码均在16位系统下

原码

数字7的原码   0000 0000 0000 0111

数字-7的原码 1000 0000 0000 0111

反码

正数原码和反码相同 

7的反码 0000 0000 0000 0111

负数的反码即为除了符号位不变,其余取反  

-7的反码 1111 1111 1111 1000

补码

正数的补码与原码相同

7的补码 0000 0000 0000 0111

负数的补码是在反码的基础上加1

-7的补码 1111 1111 1111 1001

以上是关于原码和补码的主要内容,如果未能解决你的问题,请参考以下文章

字节序,原码和补码与位运算

原码反码补码之间的快速转换和简单运算

原码反码补码

原码反码补码与位运算

二进制的原码、补码、反码详解

如何理解二进制原码,反码,补码,二进制补码运算