【发布时间】:2019-08-17 18:56:07
【问题描述】:
我正在尝试将 PHP 中的值与 JavaScript 中的结果进行比较。我已经尝试过 stackoverflow 中的解决方案,但目前我无法让它按照我想要的方式工作。我目前正在运行 PHP 7.1。
例如在 JS 环境比如 Chrome WebTools Console 中运行这个
var testValue = 94427771;
(testValue << 5)
结果:
-1273278624
而在 PHP 中类似的会产生以下结果:
$testValue = 94427771;
$testValue = ($testValue << 5);
echo $testValue;
输出为:96694037504
我也试过这个发布在stackOverflow上的函数
function shift_left_32( $a, $b ) {
return ( $c = $a << $b ) && $c >= 4294967296 ? $c - 4294967296 : $c;
}
在哪里运行代码shift_left_32($testValue, 5);它返回值:3021688672
请问我该如何解决这个问题。谢谢。
【问题讨论】:
标签: javascript php bit-manipulation bitwise-operators bit-shift