我们课程综合实验有个要使用Diffie-Hellman算法交换密钥,要用到多次方然后模除,在php端绕过了整型数据溢出问题,php里面有:
bcmod(bcpow(5, 2067), 17509)
js里面:
Math.pow(5, 2067) % 17509
怎么办?
这个算出来是15187.
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
在
JS中是不区分整型和浮点型的,所有的数字都是Number。最大值为
Number.MAX_VALUE,确切的值为 1.7976931348623157e+308。如果超过这个值,一般的
Number就没法满足你的需求了,你可能需要自己实现大整数的数据结构。php我不太了解,但我知道ruby中会在数字超过最大取值的情况下会自动转换为大整数。估计php也做了类似的事吧。如果是解决方案的话,你可以用手写一个快速幂啊。或者直接暴力吧。