最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript 32位整型無(wú)符號(hào)操作示例

 更新時(shí)間:2013年12月08日 17:17:27   作者:  
所有整數(shù)字變量默認(rèn)都是有符號(hào)整數(shù),JavaScript 進(jìn)行位操作時(shí),是采用32位有符號(hào)整型,這意味著其轉(zhuǎn)換的結(jié)果也是32位有符號(hào)整型
在 JavaScript 中,所有整數(shù)字變量默認(rèn)都是有符號(hào)整數(shù),這意味著什么呢?

有符號(hào)整數(shù)使用 31 位表示整數(shù)的數(shù)值,用第 32 位表示整數(shù)的符號(hào),0 表示正數(shù),1 表示負(fù)數(shù)。
數(shù)值范圍從 -2^31 - 2^31-1 即 -2147483648 到 2147483647。

JavaScript 進(jìn)行位操作時(shí),是采用32位 有符號(hào) 整型,這意味著其轉(zhuǎn)換的結(jié)果也是32位有符號(hào)整型。 有些時(shí)候,我們進(jìn)行移位會(huì)出現(xiàn)意想不到的結(jié)果,以下是C語(yǔ)言 與 JS 的對(duì)比。

C語(yǔ)言
復(fù)制代碼 代碼如下:

unsigned int a = 3774191835u;
unsigned int b = a >> 2;
/* b == 943547958 */

JavaScript
復(fù)制代碼 代碼如下:

var a = 3774191835;
var b = a >> 2;
/* b == -130193866 */


可以看到,JavaScript 進(jìn)行位運(yùn)算時(shí),是采用的有符號(hào)整型,故我們得到了不一樣的結(jié)果。 怎么解決呢?

我們可以把JavaScript 中的有符號(hào)數(shù),轉(zhuǎn)換成無(wú)符號(hào)數(shù)。只需要進(jìn)行 >>>0 移位操作就好了。

最好不要使用 >> ,推薦使用 >>> 因?yàn)樽钭筮呉晃粫?huì)被解析成符號(hào)位,當(dāng)數(shù)字溢出時(shí),會(huì)被解析成負(fù)數(shù)。

相關(guān)文章

最新評(píng)論

昭苏县| 枣强县| 东方市| 厦门市| 沿河| 林芝县| 布拖县| 铅山县| 肥城市| 灵寿县| 三穗县| 南漳县| 错那县| 济源市| 望都县| 荣成市| 芦山县| 台江县| 新巴尔虎右旗| 田阳县| 南乐县| 广宗县| 潜山县| 青神县| 屏山县| 普安县| 贺州市| 郑州市| 光山县| 华安县| 北海市| 揭东县| 蕉岭县| 汉中市| 宣恩县| 新建县| 石城县| 水富县| 将乐县| 石首市| 察隅县|