根据 IEEE 754-2008,有 binary32 和 decimal32 标准:
Decimal Decimal
Name Common name Base Digits E min E max Digits E max
binary32 Single precision 2 23+1 −126 +127 7.22 38.23
decimal32 10 7 −95 +96 7 96
所以两者都使用 32 位,但十进制 32 有 7 位,E max 为 96,而 float32 有 7.22 位,E max 约为 38。
这是否意味着十进制 32 具有相似的精度但范围更好?那么是什么阻止了在 float32 上使用 decimal32 呢?那是他们的表现(即速度)吗?