开发者

Extremely Large Integers in PHP [duplicate]

开发者 https://www.devze.com 2023-01-16 11:07 出处:网络
This question already has answers here: Closed 12 years ago. Possible Duplicate: Working with large number开发者_运维知识库s in PHP.
This question already has answers here: Closed 12 years ago.

Possible Duplicate:

Working with large number开发者_运维知识库s in PHP.

I run a completely useless Facebook app. I'm having a problem with PHP's support for integers. Basically, users give themselves ridiculous numbers of points. The current "king" has 102,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,002,557,529,927 points.

PHP does not seem to play well with large integers. When someone tries to add more than a certain amount of points it will fail because PHP treats those numbers as infinite.

Is there some math library for working with ridiculously large numbers? Should I treat the numbers as strings and write my own?

We're talking numbers which are 2^20 digits in length or longer. They don't need to be accurate (any errors are chalked up to the low quality of the app in general) nor does it need to be high performance. I just need something which allows much longer numbers.

(For those of you who are curious, we store our numbers in the cloud, so storage cost isn't a huge issue.)


PHP uses floats, or signed 32-bit ints to store numbers. Clearly this is not enough. You can use arbitrary precision arithmetic to store these large numbers. See the PHP book on BC Math for more information:

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


Two PHP libraries for working with large numbers are BC Math and GMP.

0

精彩评论

暂无评论...
验证码 换一张
取 消