原码|原码 反码 补码
原码:
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值.比如如果是8位二进制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:
[1111 1111 , 0111 1111]
即[-127 , 127]
反码:
反码的表示方法是:
- 正数的反码是其本身
- 负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.
[-1] = [10000001]原 = [11111110]反
补码:
补码的表示方法是:
- 正数的补码就是其本身
- 负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1。 (即在反码的基础上+1)
[-1] = [10000001]原 = [11111110]反 = [11111111]补
推荐阅读
- 为什么补码是按位取反加1的()
- 定点数的表示“原码”“补码”“反码”and“移码”
- 【转】补码取反加一与补码减一取反相同的证明
- 补码与符号位取反
- 原码,反码,补码,有符号数和无符号数
- 定点数的运算 —— 原码、补码的除法运算
- 计算机二进制补码为什么是原码取反加一
- 补码为什么要“加一”
- 按位取反~
- 原码,反码,补码的表示范围总结