最新国产好看的视频,伊人天堂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)論

措美县| 普兰店市| 石门县| 沙湾县| 揭东县| 宁蒗| 石家庄市| 巴彦县| 晋江市| 清丰县| 青川县| 新津县| 松滋市| 光山县| 巨野县| 通州市| 阿拉善右旗| 昭觉县| 中方县| 博白县| 安溪县| 孟州市| 乐清市| 洪洞县| 治多县| 贵州省| 罗源县| 河东区| 鹿泉市| 镇安县| 嘉禾县| 呼和浩特市| 湟源县| 平度市| 六盘水市| 永顺县| 根河市| 屏山县| 绍兴县| 蒲城县| 徐州市|