9

如何正确使用 % 不会得到负面结果?

<?php 
    $x = 1103515246*12345;
    echo $x." ".decbin($x)."</BR>";
    $y = $x % (1 << 15);
    echo $y." ".decbin($y)."</BR>";
?>

输出:

13622895711870      11010011110111000001011001111110

-27010              11111111111111111001011001111110

解决

$y = bcmod($x,(1 << 15));解决问题。感谢您的快速帮助!这是我的第一个问题!

4

1 回答 1

9

问题是,当$x你使用integerfloatint%

尝试使用BCMath大数字代替

于 2012-08-16T19:12:12.697 回答