我如何表现出一个正常的双重双重,而不是科学规范化

How can I display a big double normally instead of scientifically normalized

本文关键字:规范化 何表现 一个      更新时间:2023-10-16

我当前正在尝试制作一个简单的计算器,但我希望它使用一些大数字(10^10上方的任何东西都应该这样做)。而且,由于任何不错的计算器都具有浮点操作,因此我决定使用Double作为我的类型。可悲的是,当我试图写一个大数字(大约10^7)时,它变成了e符号。我想像一个普通数字一样显示它。

所有帮助都得到赞赏。:D

如果要显示双重的所有数字(而不是进入科学符号),则必须将输出流的浮点格式更改为std :: fixed:

在Coliru上现场演示:

double d = 1000000000000000.0; // 10^16
std::cout << std::fixed << d;

输出:

1000000000000000.000000

如果您希望显示器在自定义指数上进入科学符号,则必须使用现有工具自己做。

您可以尝试使用GMP库以获取任意精度算术。如果您在Windows上使用它,则可以使用mingw-get整洁安装。

我认为,对于64位双倍,您可以使用长双重。我个人从来不需要这个。

,还有一些我对较长的浮点寄存器的处理器扩展,我对此不了解,并花一点精力用于琐碎的任务。