在PHP和JavaScript中具有2个值的十六进制XOR
我找不到很容易的问题的答案 JavaScript代码:在PHP和JavaScript中具有2个值的十六进制XOR,php,javascript,hex,xor,Php,Javascript,Hex,Xor,我找不到很容易的问题的答案 JavaScript代码: var x = -1 ^ 0xF00F9344; 在这种情况下,x值为267414715 PHP代码: $x = -1 ^ 0xF00F9344; 结果是-4027552581 您知道如何在PHP中获得267414715(正确)结果吗?虽然javascript位操作始终是32位的,但PHP取决于平台的字数: 在32位平台上 $n = "11110000000011111001001101000100" -1^$n = "00001
var x = -1 ^ 0xF00F9344;
在这种情况下,x值为267414715
PHP代码:
$x = -1 ^ 0xF00F9344;
结果是-4027552581
您知道如何在PHP中获得267414715(正确)结果吗?虽然javascript位操作始终是32位的,但PHP取决于平台的字数: 在32位平台上
$n = "11110000000011111001001101000100"
-1^$n = "00001111111100000110110010111011" = 267414715
$n = "0000000000000000000000000000000011110000000011111001001101000100"
-1^$n = "1111111111111111111111111111111100001111111100000110110010111011" = -4027552581
在64位平台上
$n = "11110000000011111001001101000100"
-1^$n = "00001111111100000110110010111011" = 267414715
$n = "0000000000000000000000000000000011110000000011111001001101000100"
-1^$n = "1111111111111111111111111111111100001111111100000110110010111011" = -4027552581
虽然javascript位操作始终为32位,但php取决于平台的字长: 在32位平台上
$n = "11110000000011111001001101000100"
-1^$n = "00001111111100000110110010111011" = 267414715
$n = "0000000000000000000000000000000011110000000011111001001101000100"
-1^$n = "1111111111111111111111111111111100001111111100000110110010111011" = -4027552581
在64位平台上
$n = "11110000000011111001001101000100"
-1^$n = "00001111111100000110110010111011" = 267414715
$n = "0000000000000000000000000000000011110000000011111001001101000100"
-1^$n = "1111111111111111111111111111111100001111111100000110110010111011" = -4027552581
.是的,我也在这里工作。你有什么版本的PHP?在什么硬件上?在32位机器上对我有效,但我在64位机器上得到相同的beaviour…是的,在这里也有效。你有什么版本的PHP?在什么硬件上?在32位机器上对我有效,但在64位机器上我得到相同的beaviour。