为什么在JavaScript中掩码后得到的n't值是准确的?

Why isn't value obtained after Masking accurate in JavaScript?

本文关键字:JavaScript 掩码 为什么      更新时间:2023-09-26

我试图在Javascript中从十六进制数字中提取最后32位。

var hex = 0x6C469F301DBBC30;
var last32bit = (hex & 0xFFFFFFFF).toString(16);
log(last32bit); //gives 1dbbc40

结果为1DBBC40。这不是应该是1DBBC30吗?另外,如何在1DBBC40之前保存0 ?

ECMA标准规定:

Number类型恰好有18437736874454810627(即264−253+3)值

您的数字太大,无法用数字精确表示。如果您希望准确地表示大数,则应该查找大数库。也许这些库中有一个可以满足您的需要。