gpt4 book ai didi

php - 在 PHP 中处理大量数据

转载 作者:IT王子 更新时间:2023-10-28 23:55:12 24 4
gpt4 key购买 nike

使用modular exponentiation正如您在使用 Fermat Primality Test 时所需要的那样对于大数字(100,000+),它需要一些非常大的计算。

当我将两个大数相乘(例如:62574 和 62574)时,PHP 似乎将结果转换为 float 。获取它的模值会返回奇怪的值。

$x = 62574 * 62574;
var_dump($x); // float(3915505476) ... correct
var_dump($x % 104659); // int(-72945) ... wtf.

有没有办法让 PHP 正确地执行这些计算?或者,是否有另一种方法可以找到适用于大数的模值?

最佳答案

出于某种原因,PHP 中有两个标准库可以处理任意长度/精度数字:BC MathGMP .我个人更喜欢 GMP,因为它更新鲜,API 更丰富。

基于 GMP,我实现了 Decimal2 class用于存储和处理货币金额(如 100.25 美元)。 很多模计算没有任何问题。用非常大的数字测试。

关于php - 在 PHP 中处理大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/211345/

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