在 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)
疑難解答
圖片精選