是否存在可以在不损失int64的情况下进行转换的浮点数据类型?

Tob*_*ner 6 c++ floating-point visual-c++

Visual C++中是否有浮点数据类型,尾数中有足够的精度来保存INT64?

示例应该可以执行以下操作:

__int64 from = 0xFFFFFFFFFFFFFFFF;
mightyFP intermediate;
__int64 to;
intermediate = from;
to = intermediate;
assert(from == to);
Run Code Online (Sandbox Code Playgroud)

其中mightyFP是我搜索的未知类型.

问候,托比亚斯

Eri*_*rik 2

简短的回答,不。long doubledouble在 Visual Studio 中具有相同的表示形式。对于 x86,两者的大小都是 64 位,这不足以容纳 64 位整数的全部范围。

你需要GMP