1.定点数
1.1定点数描述
定点数包括定点小数(纯小数)、定点整数(纯整数)、整数和小数位数固定的实数。
1.2定点小数:
小数点默认在符号位后面,首位为符号位,其他为数值位(在用二进制代表小数时,例如0xFF,就表示0.5+0.25+0.125+0.0625+0.03125........)
例如,用一位符号位、三位小数位,表示以下数据:(小数点省略就是B)
原码 | 十进制正小数 | 十进制负小数 | 原码 | 补码 | |
0.000 | 0 | 0 | 1.000 | 1.000 | |
0.001 | 0.125 | -0.125 | 1.001 | 1.111 | |
0.010 | 0.25 | -0.25 | 1.010 | 1.110 | |
0.011 | 0.375 | -0.375 | 1.011 | 1.101 | |
0.100 | 0.5 | -0.5 | 1.100 | 1.100 | |
0.101 | 0.625 | -0.625 | 1.101 | 1.011 | |
0.110 | 0.75 | -0.75 | 1.110 | 1.010 | |
0.111 | 0.875 | -0.875 | 1.111 | 1.001 |
负数使用补码,就可以直接进行运算。比如:
0.125+(-0.875)=0.001+1.001=1010(-0.75)
0.750+(-0.375)=0.110+1.101=1 0011(0.375)
0.250+(-0.250)=0.010+1.110=1 0000(0)
1.3定点整数:
就跟整数的二进制写法一样
1.4整数和小数位数固定的实数:
其中,W为总位宽,也就是阶码的位宽;Wf为小数部分位宽。例如,用一位符号位、一位正数部分、2位小数部分,表示以下数据:(小数点省略就是B)
原码 | 十进制正小数 | 十进制负小数 | 原码 | 补码 | |