数据的表示
进制的转换
-
R进制转十进制使用按权展开法
- 将R进制数的每一位数乘以它的权,然后相加,即可求得对应的十进制数值
- 十进制:
- 二进制:
- 其中,十进制第2位的位权为10,第3位的位权为100;而二进制第2位的位权为2,第3位的位权为4。对于 N 进制数,整数部分第 i 位的位权为Ni-1,而小数部分第 j 位的位权为N-j
- 十进制转R进制使用短除法
- 整数部分:除R取余,直到商为0时为止,将余数逆序排列
- 小数部分:乘R取整,直到小数部分为零,将整数顺序排列
- 二进制转八进制与十六进制
- 二进制数转换成八或十六进制数时,从小数点向左和向右把每3或者4个二进制数分成一组,直接写出每一组所代表的数值,小数点后不足位数补0
- 八或十六进制数转换成二进制数时,从小数点向左和向右将一个数分成3或者4个二进制数。按顺序排列,得到的就是转换后的二进制数
原码、反码、补码、移码
- 原码:二进制数(最高位是符号位,0为正,1为负)
- 反码:正数的反码与原码相同。负数的反码则是在原码的基础上,符号位不变,数值位取反
- 补码:正数的补码与原码相同。负数的补码则是在反码的基础上,末尾加1。最适合加减运算的数字编码(符号位参与运算)
- 移码:在补码的基础上,符号位取反,常用于表示浮点数的阶码部分(码值大者对应的真值就大)
- 范围
码制 定点整数(阶码) 定点小数(尾数) n=8 原码 -127~127 反码 -127~127 补码