PHP上的模数结果错误,Python上的模数结果正确

2024-05-15 02:13:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我在PHP上操作这个数字时遇到了问题

例如:

72**79%3337

当我使用

echo 72 ** 79 % 3337 // Result is int(0)

然后我试着分成这个

$num = number_format(72 ** 79, 0, '', '');
echo $num % 3337;   // Result is 1069

然后我再次尝试使用fmod()和bcmod()

$num = number_format(72 ** 79, 0, '', '');
echo fmod($num, 3337);        // Result is 2255
echo bcmod($num, 3337);       // Result is 2255

但是,我想要的结果是285,当使用Python时,答案是正确的

为什么会这样?有什么解决办法吗


Tags: 答案echoformatnumberis数字resultnum
1条回答
网友
1楼 · 发布于 2024-05-15 02:13:15

您正在溢出浮点分辨率,因此需要使用bcmath进行all运算,包括指数运算:

$num = bcpow(72, 79);
echo bcmod($num, 3337);

输出

285

Demo on 3v4l.org

相关问题 更多 >

    热门问题