国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表

圖片精選

主站蜘蛛池模板: 泸水县| 达州市| 金川县| 太和县| 南通市| 和平区| 亚东县| 那坡县| 安阳市| 广南县| 浮山县| 嘉兴市| 南华县| 仁化县| 周至县| 淮北市| 彭州市| 竹北市| 平武县| 榆树市| 西乌珠穆沁旗| 温宿县| 嘉祥县| 大方县| 安国市| 池州市| 韶山市| 榆中县| 无极县| 衡阳县| 漯河市| 东莞市| 鹤峰县| 贵德县| 呼和浩特市| 富蕴县| 将乐县| 资阳市| 揭西县| 天峨县| 襄城县|