10

可能重复:
在 PHP 中处理大量数字。

我运行了一个完全没用的 Facebook 应用程序。我遇到了 PHP 对整数的支持的问题。基本上,用户会给自己一些荒谬的分数。当前的“王”有102,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,002,557,529,927点。

PHP 似乎不能很好地处理大整数。当有人尝试添加超过一定数量的点时,它将失败,因为 PHP 将这些数字视为无限。

是否有一些数学库可以处理非常大的数字?我应该将数字视为字符串并自己编写吗?

我们说的是长度为 2^20 位或更长的数字。它们不需要准确(任何错误通常都归咎于应用程序的低质量),也不需要高性能。我只需要允许更长数字的东西。

(对于那些好奇的人,我们将我们的数字存储在云中,因此存储成本不是一个大问题。)

4

2 回答 2

9

PHP 使用浮点数或带符号的 32 位整数来存储数字。显然这还不够。您可以使用任意精度算术来存储这些大数。有关更多信息,请参阅关于 BC Math 的 PHP 书籍:

http://php.net/manual/en/book.bc.php

于 2010-09-18T06:05:36.587 回答
5

两个用于处理大数的 PHP 库是BC MathGMP

于 2010-09-18T06:08:42.910 回答