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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:57:05
字體:
供稿:網(wǎng)友
所有整數(shù)字變量默認(rèn)都是有符號整數(shù),JavaScript 進(jìn)行位操作時(shí),是采用32位有符號整型,這意味著其轉(zhuǎn)換的結(jié)果也是32位有符號整型

在 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ā)表

圖片精選

主站蜘蛛池模板: 苗栗县| 团风县| 湖口县| 阿荣旗| 海阳市| 郑州市| 无极县| 大厂| 酒泉市| 铁岭市| 五大连池市| 通化市| 西乌| 庆安县| 旅游| 阳江市| 北票市| 饶平县| 大名县| 腾冲县| 吕梁市| 郴州市| 道真| 铁岭市| 香港 | 临西县| 镇远县| 鄂托克前旗| 望都县| 万荣县| 金坛市| 时尚| 九江县| 抚州市| 彭泽县| 福泉市| 侯马市| 诏安县| 永新县| 襄城县| 冷水江市|