我找不到解决方案非常容易的问题。
JavaScript中的代码:
var x = -1 ^ 0xF00F9344;
在这种情况下,x值为267414715
PHP代码:
$x = -1 ^ 0xF00F9344;
结果是-4027552581
任何想法,如何在PHP中获得267414715(正确)结果?
答案 0 :(得分:4)
虽然javascript位操作总是32位,但php取决于平台的字大小:
在32位平台上
$n = "11110000000011111001001101000100"
-1^$n = "00001111111100000110110010111011" = 267414715
在64位平台上
$n = "0000000000000000000000000000000011110000000011111001001101000100"
-1^$n = "1111111111111111111111111111111100001111111100000110110010111011" = -4027552581