国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript 32位整型無符號操作示例

2019-11-20 21:30:33
字體:
供稿:網(wǎng)友
在 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 */

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

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


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

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

最好不要使用 >> ,推薦使用 >>> 因?yàn)樽钭筮呉晃粫唤馕龀煞栁唬?dāng)數(shù)字溢出時(shí),會被解析成負(fù)數(shù)。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 克什克腾旗| 茌平县| 新宾| 钟祥市| 牡丹江市| 兴城市| 苍梧县| 万源市| 富阳市| 凯里市| 九江县| 邓州市| 宁德市| 兰溪市| 全椒县| 樟树市| 海盐县| 苍溪县| 高邮市| 岚皋县| 蓬安县| 满城县| 吐鲁番市| 永和县| 庆云县| 宁河县| 贵州省| 天镇县| 武陟县| 鄂托克前旗| 当雄县| 吉木乃县| 蓝山县| 泉州市| 乌拉特前旗| 青神县| 合作市| 临朐县| 平利县| 越西县| 南郑县|