是否有两种具有相同尺寸但行为不同的浮动类型?

时间:2012-01-06 16:02:15

标签: floating-point

我听说过float(4byte),double(8byte),decimal(16byte)。我很确定我听到有人说有一个10字节的真实,我听说有其他语言的复杂和想象的原生类型,但我不知道它们的大小是什么。

是否存在具有相同大小但行为不同的浮点类型?如果是这样,有什么区别?

1 个答案:

答案 0 :(得分:4)

我想我理解你的问题......

根据IEEE 754-2008,有两种类型的浮动32,64和128位表示:

来自http://en.wikipedia.org/wiki/IEEE_754-2008

Name        Common name         Base  Digits E min  E max   Digits  E max
binary32    Single precision    2     23+1   −126   +127    7.22    38.23
binary64    Double precision    2     52+1   −1022  +1023   15.95   307.95
binary128   Quadruple precision 2     112+1  -16382 +16383  34.02   4931.77
decimal32                       10    7      −95    +96     7       96
decimal64                       10    16     −383   +384    16      384
decimal128                      10    34     −6143  +6144   34      6144

这里我们分别为32,64,128分别有两种类型,分别有不同的表示形式,Decimal32的范围更窄但精度更高。