簡體   English   中英

php按位XOR和js按位XOR產生不同的結果

[英]php bitwise XOR and js bitwise XOR producing different results

當我嘗試在php和js中執行按位XOR操作時,它們在某些情況下會產生不同的結果,例如

2166136261 ^ 101 = -2128831072 on browsers (js)
2166136261 ^ 101  = 2166136224(php)

我的理解是因為php運行64位而不是32位js。

任何人都可以告訴我確切的原因,以及是否可以解決此問題,以便兩次操作得出相同的值。 謝謝!

2,147,483,647是32位計算中整數的最大可能正值(它是2 ^ 16,這是我們擁有的32位中的一半,另一半保留為負數)。

一旦您使用的數字大於32位系統中的數字,計算機就會認為結果為負數,從而開始產生錯誤的結果。 參見https://en.wikipedia.org/wiki/Integer_(computer_science)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM