如何使按位异或的 PHP 版本与 javascript 版本相匹配?
How can I make the PHP version of Bitwise XOR match the javascript version?
如何使 PHP 版本的按位异或匹配 javascript 版本?
javascript版本给我1080
(f6o5y5^t0u1)+(p6t0k1^l2v2)+(j0u1f6^d4d4)+(p6t0k1^l2v2)
虽然 PHP 给我 0000
$a = f6o5y5^t0u1 & 0xffffffff;
if ($a & 0x80000000)
$a -= 0x100000000;
$b = p6t0k1^l2v2 & 0xffffffff;
if ($b & 0x80000000)
$b -= 0x100000000;
$c = j0u1f6^d4d4 & 0xffffffff;
if ($c & 0x80000000)
$c -= 0x100000000;
$d = p6t0k1^l2v2 & 0xffffffff;
if ($d & 0x80000000)
$d -= 0x100000000;
echo $a.$b.$c.$d;
语法相同,示例中的实现不同。例如下面的 Javascript:
var x = (1^2)+(3^4)+(5^6)+(4^8);
console.log(x);
将 x
输出为 25
;
PHP版本相同。例如:
<?=(1^2)+(3^4)+(5^6)+(4^8)?>
也将呈现 25
。
我猜你没有相同的值,或者你的语法在不同的语言中是不同的。
如何使 PHP 版本的按位异或匹配 javascript 版本?
javascript版本给我1080
(f6o5y5^t0u1)+(p6t0k1^l2v2)+(j0u1f6^d4d4)+(p6t0k1^l2v2)
虽然 PHP 给我 0000
$a = f6o5y5^t0u1 & 0xffffffff;
if ($a & 0x80000000)
$a -= 0x100000000;
$b = p6t0k1^l2v2 & 0xffffffff;
if ($b & 0x80000000)
$b -= 0x100000000;
$c = j0u1f6^d4d4 & 0xffffffff;
if ($c & 0x80000000)
$c -= 0x100000000;
$d = p6t0k1^l2v2 & 0xffffffff;
if ($d & 0x80000000)
$d -= 0x100000000;
echo $a.$b.$c.$d;
语法相同,示例中的实现不同。例如下面的 Javascript:
var x = (1^2)+(3^4)+(5^6)+(4^8);
console.log(x);
将 x
输出为 25
;
PHP版本相同。例如:
<?=(1^2)+(3^4)+(5^6)+(4^8)?>
也将呈现 25
。
我猜你没有相同的值,或者你的语法在不同的语言中是不同的。