在 JavaScript 中,所有整數(shù)字變量默認(rèn)都是有符號整數(shù),這意味著什么呢? 
有符號整數(shù)使用 31 位表示整數(shù)的數(shù)值,用第 32 位表示整數(shù)的符號,0 表示正數(shù),1 表示負(fù)數(shù)。 
數(shù)值范圍從 -2^31 - 2^31-1 即 -2147483648 到 2147483647。 
JavaScript 進(jìn)行位操作時(shí),是采用32位 有符號 整型,這意味著其轉(zhuǎn)換的結(jié)果也是32位有符號整型。 有些時(shí)候,我們進(jìn)行移位會出現(xiàn)意想不到的結(jié)果,以下是C語言 與 JS 的對比。 
C語言 
復(fù)制代碼 代碼如下:
 
unsigned int a = 3774191835u; 
unsigned int b = a >> 2; 
/* b == 943547958 */ 
復(fù)制代碼 代碼如下:
 
var a = 3774191835; 
var b = a >> 2; 
/* b == -130193866 */ 
 
  | 
新聞熱點(diǎn)
疑難解答
圖片精選