原码、反码和补码
目录
原码、反码和补码
1 原码
- 所有数字使用二进制表示,正数的原码与其二进制表示相同。
- 为了表示负数,使用符号位来表示正负,其中最高位为符号位。
- 以 4 个 bit 位为例,可以表示的范围是:-7~+7。
- 最小值的原码为:1111,对应的是-7。
- 最大值的原码为:0111,对应的是+7。
2 反码
- 正数的反码与其原码相同。
- 负数的反码在原码的基础上,符号位不变,其他位取反。
- 使用反码进行加减法时,仍然存在进位的问题。
3 补码
- 正数的补码与其原码相同。
- 负数的补码在原码的基础上,符号位不变,其他位取反,然后加 1。
- 补码的引入消除了原码和反码中加减法的进位问题。
- 使用补码表示时,4 个 bit 位的范围是:-8~+7。
通过引入补码表示方法,能够更方便地进行正数和负数的加减运算,并且不会出现-0 的情况。在计算机中,补码表示方法被广泛应用,特别是在 C 语言中。