【发布时间】:2014-03-15 13:31:58
【问题描述】:
当我运行下面的代码时:
<?
echo rand(0, 0xfffffffffffffbff);
echo rand(0, 0xfffffffffffffc00);
echo rand(0, $something_bigger_than_0xfffffffffffffbff);
我得到了类似的东西:
-828
0
0
(第二个和第三个数字总是为零)
mt_rand() 具有相同的行为。
那么,为什么是零?
【问题讨论】:
-
按预期工作:3v4l.org/5OKIC
-
32 位架构上的溢出,请参阅stackoverflow.com/a/1587814/2908724
-
@AmalMurali 已编辑。使用 0xffffffffffffffc00 而不是 0xfffffffffffffbff + 1 时仍然为零
标签: php