Table of Contents
1 定点数二进制表示
在计算机内,有符号数有3中表示法:原码、反码、补码。
1.1 规则及表示方法
首先是对有符号数而言:
- 二进制的最高位是符号位:0–>正,1–>负
- 正数的原码,反码,补码一样
- 负数的反码==原码的符号位不变,其他的位取反
- 负数的补码==反码+1
- 0的反码,补码都是0。数值0的补码只有一个,即:0的补码=00000000B
- 计算机运算的时候都是以补码的方式运算的。
1.2 补充
- (-128)没有相应的原码和反码。(-128)=(1000 0000)补码
- 采用补码的原因:
- 使用补码可以使符号位与其他位统一进行处理。
- 减法可以按照加法处理。如果最高位(符号位)有进位,则进位就舍弃。
- 已知补码,求原码:补码的补码。(因为:对于二进制来说先减1后取反和先取反后加1得到的结果是一样的)