编程语言如何处理大量算术运算

Aja*_*jay 11 memory math integer numbers

对于使用64位处理器的计算机,它可以处理的最大数字是2 64 = 18,446,744,073,709,551,616.编程语言(比如Java或C,C++)如何处理高于此值的数字算法.任何登记册都不能作为一个整体.这个问题是如何解决的?

Chr*_*ard 6

有许多专门的技术可以对大于寄存器大小的数字进行计算.其中一些在维基百科关于任意精度算术的文章中有所概述

低级语言(如C和C++)将大量计算留给您选择的库.其中值得注意的是GNU Multi-Precision库.像Python这样的高级语言将其集成到语言的核心,因此正常数字和非常大的数字与程序员相同.


Gre*_*g D 0

一般来说,语言本身并不能处理高精度、高精度的大数运算。更有可能的是,编写的使用替代数值方法来执行所需的操作。

例如(我现在正在编造这个),这样的库可能会模拟您可能用来手动执行大量算术的实际技术。此类库通常比使用内置算术慢得多,但有时需要额外的精度和准确度