我正在尝试将 PHP 中的值按位移位,与 JavaScript 中的结果相比。我已经尝试过 stackoverflow 中的解决方案,但目前我无法让它按照我想要的方式工作。我目前正在运行 PHP 7.1。
例如在运行这个的 Chrome WebTools Console 等 JS 环境中
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
我怎么能去解决这个问题。谢谢你。
慕田峪7331174