真值、原码、反码、补码、移码的求解方法与换算
- 背景
- 求法
- 原码
- 反码
- 补码
- 移码
- 相互转换(关系)
- 原码-反码
- 反码-补码
- 补码-移码
- 举例1
- 举例2
- 浮点数专题
背景
最近在备考计算机嵌入式,遇到了很多“码”,整理了一下。
求法
原码
正数:符号位+真值,符号位:正数为0,负数为1
负数:2n+|真值|,其中n为真值的阶数,若为小数,则n=0,即:1+|真值|
反码
正数和原码一样
负数见:原码-反码
补码
正数:符号位+真值,符号位:正数为0,负数为1
负数:2n+1+真值(即2n+1-|真值|),其中n为真值的阶数,若为小数,则n=0,即:2+真值
移码
移码只用于表示整数:2n+真值
相互转换(关系)
原码-反码
正数:形式相同
负数:符号位不变,数值部分取反
反码-补码
正数:形式相同
负数:符号位不变(为1),数值位取反,再在末尾+1
补码-移码
补码和移码只有符号位相反,数值位完全相同
举例1
正数的例子
种类 | 值 |
---|---|
真值 | +1011 |
原码 | 01011 |
反码 | 01011 |
补码 | 01011 |
移码 | 11011 |
举例2
负数的例子
种类 | 值 |
---|---|
真值 | -1011 |
原码 | 11011 |
反码 | 10100 |
补码 | 10101 |
移码 | 00101 |
浮点数专题
一般用移码表示浮点数的阶,阶数是整数
一般用补码表示定点整数