0

我正在编写一个使用连续平方来求解 a^k mod m 的算法。由于连续平方的工作方式,算法必须计算的最大数字是 2147483646^2(我将用户输入限制为 214738364)。不幸的是,它仍然需要计算这个。它似乎正确地得到了平方部分,然后将溢出的数字转换为浮点数,但随后无法计算浮点数和整数的模数。

示例行是:

3422422^2 mod 715924 = 661224^2 mod 715924 = 437217178176 mod 715924 = -354280

我该如何解决这个问题,以及如何在 PHP 中找到解决整数溢出的方法?

4

1 回答 1

1

我建议检查GMP 扩展并阅读这个问题

于 2012-01-07T17:59:51.500 回答