要使用大数(100,000+)的Fermat Primality Test时需要使用模幂运算,需要进行一些非常大的计算.
当我乘以两个大数(例如:62574和62574)时,PHP似乎将结果转换为浮点数.获取模数值会返回奇怪的值.
$x = 62574 * 62574;
var_dump($x); // float(3915505476) ... correct
var_dump($x % 104659); // int(-72945) ... wtf.
Run Code Online (Sandbox Code Playgroud)
有没有办法让PHP正确执行这些计算?或者,是否有另一种方法可以找到适用于大数的模数值?