Как сделать так, чтобы PHP-версия Bitwise XOR соответствовала версии javascript? - PullRequest
0 голосов
/ 23 марта 2019

Как мне сделать так, чтобы PHP-версия Bitwise XOR соответствовала версии 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;   

1 Ответ

0 голосов
/ 23 марта 2019

Синтаксис один и тот же, реализация в вашем примере отличается.Например, следующий 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.

Я предполагаю, что у вас нет одинаковых значений или ваш синтаксис отличается на разных языках.

...