我对 PHP 的左移函数的行为感到非常困惑。我在两台不同的机器(开发和托管)上使用它,它们给了我不同的答案。我已经追踪到这个计算:
(-3941404251) << 5;
在一台机器上,我得到了答案-1570884448;另一方面,我得到 0。在两个系统上,PHP_INT_MAX = 2147483647。后者是 32 位系统,第一个是 64 位系统,尽管 php 作为 32 位进程运行并且仍然给出相同的答案。
我只能假设这是 32 位与 64 位的问题,但有没有简单的方法来获得所需的行为。如果有人可以向我指出一个功能或其他东西,那就太好了。
谢谢!