什么比双重大?

时间:2008-11-02 20:56:22

标签: c++ types variables

是否存在比双倍“更大”的本机c ++变量类型? 浮动是7
double是15(当然取决于编译器)
有没有更大的本土,甚至非原生的?

8 个答案:

答案 0 :(得分:36)

C ++有long double,但不能保证它比普通double更精确。在x86平台上,通常double是64位,long double是64位或80位(如果我没记错的话,它会给你19个有效数字)。

您的里程可能会有所不同,特别是如果您不在x86上。

答案 1 :(得分:10)

long double通常只使用10个字节,但由于对齐实际上可能占用结构中的12或16个(取决于编译器和选项)字节。

10字节长的double提供64位尾数;当你想在浮点存储64位整数而不会损失精度时,这非常方便。

答案 2 :(得分:9)

您可以使用GNU MP。它的floating-point functions具有无限的尾数和32位或64位(取决于本机字大小)指数。它还附带C++ wrapper

答案 3 :(得分:3)

对于C ++,还有一些各种bigfloat / bigint库允许任意精度数学。 Microsoft Codeplex上有this库,但谷歌搜索会找到很多其他的库。

答案 4 :(得分:3)

C ++已经翻了一番,但它仍然非常有限。好好玩的时候试试GNU的gmp库。您可以根据需要设置大小的数字,当您使用gmp_add而不是普通的+时,它非常有趣且非常有趣。我确定某处有一个C ++包装器。

答案 5 :(得分:2)

长一倍,但它通常仍然是15个精度位置。

答案 6 :(得分:2)

长长的双倍只有一些cpus允许你使用它...

答案 7 :(得分:0)