当我尝试这个时
~1099511627520
在32位操作系统上,结果为负 不过64位就OK了~ 那么如何让它在32位操作系统上运行呢?
有人可以帮助我吗? 谢谢~
最佳答案
使用 BC Math 函数,您可以在 32 位机器上获得 64 位数字的按位求反,例如:
<?php
define('MAX_UINT_64', '18446744073709551615');
$number_64bit = '1099511627520';
$negate_64bit = bcsub(MAX_UINT_64, $number_64bit, 0);
var_dump($negate_64bit);
?>
它输出:
18446742974197924095
关于php - 如何使用32位系统对数字(1099511627520)求逆时得到正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14996588/