如何在内存中表示极大的浮点数?

像GMP这样的任意精度库如何存储内存中表示的极大浮点数?

我想如果你想要计算Pi或Euler的常数来说,你可以为小数位右边的数字分配大量的字节数。 每个字节将存储2个小数位值,并且该数组将是数据结构的成员,其中包含用于存储该值的位数和字节数。

这是怎么回事?

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

在某些情况下,您不需要太多计算,但大多数情况下您输入并输出十进制字符。 使用功率或10的基础的这种情况更有效。 您可以在32位计算机中使用base 10 9 ,在64位计算机中使用10 19 ,因为这是您可以存储在32或64位值中的最大功率10