Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP和JavaScript中具有2个值的十六进制XOR_Php_Javascript_Hex_Xor - Fatal编程技术网

在PHP和JavaScript中具有2个值的十六进制XOR

在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

我找不到很容易的问题的答案

JavaScript代码:

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。