什么比双倍大?

What's bigger than a double?

本文关键字:什么      更新时间:2023-10-16

是否有比double"大"的原生c++变量类型
浮动为7
double是15(当然取决于编译器)
有更大的东西是本地的,甚至是非本地的吗?

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

你的里程数可能会有所不同,尤其是如果你没有使用x86。

一个长双精度通常只使用10个字节,但由于对齐的原因,在一个结构中可能实际占用12或16个字节(取决于编译器和选项)。

10字节长的双精度提供64位尾数;当您希望将64位整数存储在浮点中而不损失精度时,这非常方便。

您可以使用GNU MP。它的浮点函数有无限尾数和32位或64位(取决于本机单词大小)指数。它还附带了一个C++包装器。

C++还有一些不同的bigfoat/bigint库,它们允许任意精度的数学运算。微软Codeplex上有这个库,但谷歌搜索会发现很多其他库。

C++有长双,但它仍然非常有限。不妨试试GNU的gmp库。你可以设置任意大的数字,当你使用gmp_add而不是普通的+时,这很有趣,也很麻烦。我确信某个地方有一个C++包装器。

长双,但它通常也有15位精度。

long-long double只有一些cpu允许您使用它。。。

Boost 1.53或更高版本具有多精度。

http://www.boost.org/doc/libs/1_54_0/libs/multiprecision/doc/html/index.html