我正在使用以下代码在 PHP 中实现一个简单的位旋转:
(($n>>1)&0xFFFFFFFF)|(($n&0x00000001)<<31)
当我在不同的机器上运行这段代码时,我得到了完全不同的结果。起初我认为这与字节顺序有关,但它们都是 x86,我只是使用了不同版本的 PHP。
是什么导致了这种行为?
编辑:没关系我之前的例子,它是不正确的
最佳答案
问题肯定是 PHP_INT_SIZE 是 4 而不是 8 造成的
关于php - 不同机器上的按位运算结果不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54690058/