【问题标题】:Hexadecimal XOR with 2 values in PHP and JavaScriptPHP 和 JavaScript 中具有 2 个值的十六进制 XOR
【发布时间】:2011-11-20 02:38:15
【问题描述】:

我找不到非常简单的问题的解决方案。

JavaScript 中的代码:

var x = -1 ^ 0xF00F9344;

在这种情况下,x 值为 267414715

PHP 中的代码:

$x = -1 ^ 0xF00F9344;

结果是-4027552581

任何想法,如何在 PHP 中获得 267414715(正确)结果?

【问题讨论】:

  • 是的,也在这里工作。你有什么版本的PHP?在什么硬件上?
  • 在 32 位机器上为我工作,但在 64 位机器上我得到相同的行为。

标签: php javascript hex xor


【解决方案1】:

虽然 javascript 位操作总是 32 位,但 php 取决于平台的字长:

在 32 位平台上

$n    = "11110000000011111001001101000100"
-1^$n = "00001111111100000110110010111011"  = 267414715

在 64 位平台上

$n    = "0000000000000000000000000000000011110000000011111001001101000100"
-1^$n = "1111111111111111111111111111111100001111111100000110110010111011" = -4027552581

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-25
    • 2023-03-30
    • 2013-01-26
    • 1970-01-01
    • 2015-05-24
    • 2023-03-22
    • 2011-09-16
    相关资源
    最近更新 更多