说明:二进制原码、反码和补码都是针对有符号数(有符号数就是有正数和负数)的,无符号数(只有非负数)没有原码、反码和补码。在这篇文章,我将不会讲原码、反码和补码的由来和作用,我只会讲它们的运用
- 原码
定义:
原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。
实质:
用二进制表示有符号十进制数字
举例:
十进制数字 | 原码 |
---|---|
3 | 0000 0011 |
-3 | 1000 0001 |
- 反码
定义:是用来由原码求补码或者由补码求原码的过渡码。
实质:对于负数,把除符号位其余每位都按位取反;正数的反码是其本身(也就是它的原码)
举例:
二进制原码 | 二进制反码 |
---|---|
0000 0011 | 0000 0011 |
0000 1101 | 0000 1101 |
1111 0110 | 1000 1001 |
1001 0101 | 1110 1010 |