国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 社旗县| 长沙市| 方山县| 昌平区| 宣汉县| 亳州市| 思茅市| 庆元县| 旬邑县| 探索| 电白县| 报价| 巴南区| 五大连池市| 剑川县| 邳州市| 金平| 阜城县| 龙海市| 竹北市| 富顺县| 思茅市| 建德市| 广元市| 尼勒克县| 河曲县| 高台县| 库车县| 金溪县| 阿拉善左旗| 秀山| 绥阳县| 榆林市| 襄汾县| 丰台区| 邯郸市| 抚州市| 新兴县| 东山县| 洛浦县| 偃师市|