看看下面的代碼片段:爲什麼'<<'運算符有時在Javascript和PHP中表現不同?
<script>
var x = 25;
document.write(x << 9);
</script>
<?php
$x = 25;
echo ($x << 9);
?>
此輸出:12800 12800
確定。正常爲止......現在讓我們試試這個:
<script>
var x = 12345678;
document.write(x << 9);
</script>
<?php
$x = 12345678;
echo ($x << 9);
?>
這一次的輸出2026019840 6320987136
爲什麼是後兩個值不同?而且,最重要的是(對我而言),我如何讓PHP實現來執行Javascript實現?換句話說,我希望我的PHP代碼輸出2026019840而不是6320987136
它們不同,因爲PHP自動轉換爲一個很長的,就像Python一樣。而不是給你低32位。 – 2011-03-24 04:59:22
精彩!所以,如果我只是&0xFFFFFFFF的價值,我得到了PHP所需的價值。你能否提出這個答案,我可以接受? – Mala 2011-03-24 05:00:49