浮点数所能表示的数值范围和精度取决于什么

如题所述

浮点数所能表示的数值范围和精度取决于阶码和尾数。

阶码:采用指数的实际值加上固定的偏移值的办法表示浮点数的指数,好处是可以用长度为 {\displaystyle e} 个比特的无符号整数来表示所有的指数取值,这使得两个浮点数的指数大小的比较更为容易,实际上可以按照字典序比较两个浮点表示的大小。这种移码表示的指数部分,中文称作阶码。

定点数(即尾数):定点数是指计算机中采用的一种数的表示方法。参与运算的数的小数点位置固定不变。

IEEE标准从逻辑上采用一个三元组{S, E, M}来表示一个数N,它规定基数为2,符号位S用0和1分别表示正和负,尾数M用原码表示,阶码E用移码表示。

根据浮点数的规格化方法,尾数域的最高有效位总是1,由此,该标准约定这一位不予存储,而是认为隐藏在小数点的左边,因此,尾数域所表示的值是1.M(实际存储的是M),这样可使尾数的表示范围比实际存储多一位。

扩展资料

为了充分利用尾数的二进制编码表示更多的有效数字,为了使浮点保持更高的精度以及有统一的表示形式,对浮点数规格化,将尾数的绝对值限定在一个规定的数值范围内。

规格化的浮点数尾数的绝对值应在1/2~1之间。

尾数M使用补码表示,当M>=0时,规格化尾数的形式必须为:M=0.1XXXX...X(1+n位)

当M<0时,规格化尾数的形式必须为:M=1.0XXXX...X(1+n位)

尾数的最小负值为-1,最大负值为-(1/2+2^-n)

尾数的最小正值为+1/2,尾数的最大正值为+(1-2^-n)

参考资料:百度百科 - 浮点数

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-07
  浮点数所能表示的范围取决于阶码;精度取决于尾数。
  浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。
第2个回答  2021-01-08
浮点数的精度取决于尾数的位数,数值的范围取决于阶码的位数,在浮点数总位数不变的情况下,阶码位数越多,位数位数就越少。即表示的范围越大,精度就会越差。本回答被网友采纳
第3个回答  2013-05-14
范围取决于阶码,精度取决于尾数
相似回答