gpt4 book ai didi

c - 如何在内存中表示极大的 float ?

转载 作者:太空宇宙 更新时间:2023-11-04 01:30:20 25 4
gpt4 key购买 nike

像 GMP 这样的任意精度库如何存储在内存中表示的超大 float ?

我可以想象,例如,如果您想计算 Pi 或欧拉常数,即 2,000,000 位数字,您将为小数点右侧的数字分配大量字节数组。每个字节将存储 2 个小数位值,数组将是数据结构的成员,其中包含用于存储该值的位数和字节数。

这是它的工作原理吗?

最佳答案

当前的计算机有 32 位或 64 位寄存器,因此对字节进行计算非常低效。此外,计算机以二进制方式工作,因此使用 2 的幂的基数更有效。他们会像 Mysticial 所说的那样使用基数 232 或 264。每个计算机字都会存储一个数字,并且它们会逐位工作。

在某些情况下,您不需要太多计算,但大多数情况下,您需要输入和输出十进制字符。这种情况下使用一个幂或 10 的基数效率更高。您可以在 32 位计算机中使用基数 109,在 64 位计算机中使用 1019,因为这是可以存储在 32 位或 64 位计算机中的 10 的最大幂值

关于c - 如何在内存中表示极大的 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23840565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com