DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript綜合知識 >> JavaScript 32位整型無符號操作示例
JavaScript 32位整型無符號操作示例
編輯:JavaScript綜合知識     

 所有整數字變量默認都是有符號整數,JavaScript 進行位操作時,是采用32位有符號整型,這意味著其轉換的結果也是32位有符號整型

在 JavaScript 中,所有整數字變量默認都是有符號整數,這意味著什麼呢?    有符號整數使用 31 位表示整數的數值,用第 32 位表示整數的符號,0 表示正數,1 表示負數。  數值范圍從 -2^31 - 2^31-1 即 -2147483648 到 2147483647。    JavaScript 進行位操作時,是采用32位 有符號 整型,這意味著其轉換的結果也是32位有符號整型。 有些時候,我們進行移位會出現意想不到的結果,以下是C語言 與 JS 的對比。    C語言  代碼如下: unsigned int a = 3774191835u;  unsigned int b = a >> 2;  /* b == 943547958 */    JavaScript  代碼如下: var a = 3774191835;  var b = a >> 2;  /* b == -130193866 */      可以看到,JavaScript 進行位運算時,是采用的有符號整型,故我們得到了不一樣的結果。 怎麼解決呢?    我們可以把JavaScript 中的有符號數,轉換成無符號數。只需要進行 >>>0 移位操作就好了。    最好不要使用 >> ,推薦使用 >>> 因為最左邊一位會被解析成符號位,當數字溢出時,會被解析成負數。 
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved