栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

一个数字可以在不损失精度的情况下达到的JavaScript的最高整数值是多少?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一个数字可以在不损失精度的情况下达到的JavaScript的最高整数值是多少?

Javascript有两种数字类型:

Number
BigInt

最常用的数字类型

Number
为64位浮点IEE 754数字。

该类型的最大精确整数值为

Number.MAX_SAFE_INTEGER
,即:

  • 2 53 -1,或
  • +/- 9,007,199,254,740,991,或
  • 九四十亿七千七百亿一百九十二亿一千五百四十四万一四十九万一千九十一

从一个角度来看:一个4千万个字节是PB(或一千TB)。

在本文中,“安全”是指能够准确表示整数并正确比较它们的能力。

从规格:

请注意,所有大小不大于2 53的正整数和负整数都可以在

Number
类型中表示(实际上,整数0具有+0和-0两种表示形式)。

为了安全地使用大于此值的整数,您需要使用

BigInt
,没有上限。

请注意,按位运算符和移位运算符对32位整数进行运算,因此在这种情况下,最大安全整数为2 31 -1或2147483647。

const log = console.logvar x = 9007199254740992var y = -xlog(x == x + 1) // true !log(y == y - 1) // also true !// Arithmetic operators work, but bitwise/shifts only operate on int32:log(x / 2)      // 4503599627370496log(x >> 1)     // 0log(x | 1)      // 1

关于编号为9007199254740992的主题的技术说明:该值有一个精确的IEEE-754表示形式,您可以从变量中分配和读取该值,因此对于在小于或等于整数的整数域中进行
非常仔细 选择的应用程序此值,您可以将其视为最大值。

在一般情况下,您必须将此IEEE-754值视为不精确,因为它是对逻辑值9007199254740992还是9007199254740993进行编码都是模棱两可的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/375631.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号