上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.1.3 定点数与浮点数
日常生活中所使用的数有整数和实数之分,整数的小数点固定在数的最右边,实数的小数点则不固定。计算机中只能表示0和1,无法表示小数点,因此,要使计算机能处理日常使用的数值数据,必须解决小数点的表示问题。通常计算机中通过约定小数点的位置来实现。小数点位置约定在固定位置的数称为定点数,小数点位置约定为可浮动的数称为浮点数。
1.定点表示
对于定点小数,其小数点总是固定在数的左边,一般用来表示浮点数的尾数部分。对于定点整数,其小数点总是固定在数的最右边,因此可用定点整数来表示整数。
2.浮点表示
对于任意一个实数X,可以把它表示成如下形式:
X=(-1)S ×M×RE
其中S取值为0或1,用来决定数X的符号;M是一个二进制定点小数,称为数X的尾数(mantissa);E是一个二进制定点整数,称为数X的阶或指数(exponent);R是基数(radix、base),可以取值2、4、16等。在基数R一定的情况下,尾数M的位数反映数X的有效位数,它决定了数X的表示精度,有效位数越多,表示精度就越高;阶E的位数决定数X的表示范围;阶E的值确定了小数点的位置。
假定浮点数的尾数是纯小数,那么,从浮点数的形式来看,绝对值最小的非零数为0.0…01×R-11…1,绝对值最大的数为0.11…1×R11…1。假设m和n分别表示阶和尾数的位数,基数为2,则浮点数X的绝对值的范围如下:
上述公式中,紧靠|X|左右两边的两个因子就是非零定点小数的绝对值表示范围,浮点数的最小数是定点小数的最小数2-n去除以一个很大的数,而浮点数的最大数则是定点小数的最大数(1-2-n)去乘以这个大数,由此可见,浮点数表示的范围比定点数表示的范围要大得多。