可以用浮点数表示的最小/最大数字

时间:2018-11-28 18:02:25

标签: floating-point precision

如何计算可以用二进制16、32、64 IEEE 754浮点数表示的最小/最大十进制数?

1 个答案:

答案 0 :(得分:1)

正常范围是:

  • 16位(半精度):±6.10e-5至±65504.0
  • 32位(单精度):±1.18e−38至±3.4e38
  • 64位(双精度):±2.23e−308至±1.80e308

如果您也允许DENORMALS,则最小值为:

  • 16位:±5.96e-8
  • 32位:±1e-45
  • 64位:±5e-324

请始终记住,仅因为数字在此范围内并不意味着可以精确表示该数字。在任何范围内,由于基数原因,浮点数必然会跳过值。经典示例是1/3,它没有任何有限精度的精确表示。通常,您只能精确表示那些被称为“二进”的数字,即,对于某些A和B,其形式为A / 2 ^ B;如果结果落在动态范围内。