簡體   English   中英

Javascript Xor 32位整數問題

[英]Javascript xor 32bit integer issue

我在嘗試異或1(0xffff ffff)的32位時遇到問題。 例如:0xffffffff ^ 0xfff應該是0xfffff000,但是在js中,我無法聲明unsigned int,因此我得到-4096或-1000的十六進制。

這是js控制台輸出:

>0xffffffff^0xfff
<-4096

>(0xffffffff^0xfff).toString(16)
<"-1000"

>0xffffffff.toString(2)
<"11111111111111111111111111111111"

>0xfff.toString(2)
<"111111111111"

正確格式化,直到我對其進行操作為止。 有辦法正確處理這種情況嗎?

UPD:我意識到問題出在先頭,但仍然不知道如何處理

無符號右移對此情況很有幫助

>((0xf0000000^0xf)>>>0).toString(16)
<"f000000f"

暫無
暫無

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

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