JavaScript使用 BigInt

在 JavaScript 中,最大的安全整数是 2 的 53 次方减 1,即 Number.MAX_SAFE_INTEGER,其值为 9007199254740991。这是因为 JavaScript 中使用双精度浮点数表示数字,双精度浮点数的符号位占 1 位,指数位占 11 位,尾数位占 52 位,因此能够准确表示的整数范围是有限的。超过这个范围的整数可能会失去精度。

console.log(2 ** 53 - 1);
console.log(Number.MAX_SAFE_INTEGER);
console.log(2 ** 53 + 1);
console.log(2 ** 53 + 2);
console.log(2 ** 53 + 3);
console.log(2 ** 53 + 4);

在这里插入图片描述

● 可以看到,超过这个精度,整数的精度就会丢失,可能会出现一些问题

BigInt

BigInt 是 JavaScript 中引入的一种新的数据类型,用于表示任意精度的整数。与普通的数字类型不同,BigInt 可以表示超出 Number.MAX_SAFE_INTEGER 的整数值,因此它可以用于处理非常大的整数,而不会丢失精度。

要创建 BigInt,可以在整数值后面添加 n 或调用 BigInt() 函数并将整数作为参数传递。

console.log(5648941287894651132156549781132n);
console.log(BigInt('5648941287894651132156549781132'));

在这里插入图片描述

● Biglnt不能和普通的数字进行混合运算,只能使用Biglnt类型进行运算

console.log(10000n + 10000n);
console.log(45612316546871512315645487n * 312121100n);
console.log(45612316546871512315645487 * 312121100n);

在这里插入图片描述

● 比较运算符

console.log(20n > 15);  
console.log(20n === 20);  //===不会做强制类型转换
console.log(typeof 20n);  //类型为biglnt
console.log(20n == '20');  //==不会严格比较

在这里插入图片描述

● 取余

console.log(11n / 3n); //会省略小数部分
console.log(11 / 3);

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/685800.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024洗地机选购指南 | 怎么选洗地机不会被坑?

家里的地板总是需要打扫,但工作忙碌的我们往往没有足够的时间来打理。洗地机不仅能够帮助我们节省宝贵的时间,还能让我们的家变得一尘不染。今天,笔者将为大家讲讲挑选洗地机的技巧,告诉大家怎么挑选洗地机不会被坑,顺…

ArrayList底层结构和源码分析

ArrayList的注意事项 1,permits all, including null, ArrayList 甚至可以加入多个null,并且可放多个 2,ArrayList 是由数组来实现数据存储的 3,ArrayList 基本等同于Vector,除了ArrayList 是线程不安全但执行效率高…

ICode国际青少年编程竞赛- Python-4级训练场-while语句入门

ICode国际青少年编程竞赛- Python-4级训练场-while语句入门 1、 while Flyer.disappear():wait() Dev.step(2)2、 Dev.step(1) while Flyer.disappear():wait() Dev.step(5)3、 while Flyer[0].disappear():wait() Dev.step(3) Dev.step(-1) while Flyer[0].disappear():…

通用产品发布解决方案(家居分类表设计以及renren代码生成器的使用)

文章目录 1.商品分类表设计1.需求分析2.数据库表设计1.数据库sunliving_commodity,商品分类表commodity_category2.测试数据 2.代码生成器生成crud1.解压到sunliving下并聚合管理1.解压2.修改sunliving的pom.xml进行聚合管理3.刷新maven报错 parent.relativePath4.将…

cookie,session,token

目的:解决用户登录状态 从一个简单的登录开始说起, 在我们访问bilibili的时候,第一次需要登录,但后续就不需要登录了,可以直接访问bilibili。 而且每次在页面请求服务器的资源都需要维持登录状态,如果没…

10000字讲解IoC 思想以及五大注解

文章目录 IoC 思想通过案例讲解 IoC1.传统的开发方式 SpringIoC 和 DI五大注解ControllerServiceComponentRepositoryConfiguration 为什么要有这么多的类注解类注解之间的关系方法注解 Bean重命名 bean扫描路径 IoC 思想 什么是 Spring 呢? 我们经常听到的都是说…

【SAP ME 38】SAP ME发布WebService配置及应用

更多WebService介绍请参照 【SAP ME 28】SAP ME创建开发组件(DC)webService 致此一个WebService应用发布成功,把wsdl文件提供到第三方系统调用接口! 注意: 在SAP ME官方开发中默认对外开放的接口是WebService接口&am…

springboot3项目练习详细步骤(第二部分:文章分类模块)

新增文章分类 接口文档 业务实现 参数校验 文章分类列表 接口文档 业务实现 获取文章分类详情 接口文档 业务实现 更新文章分类 接口文档 业务实现 分组校验 问题 概念 实现步骤 总结 删除文章分类 接口文档 业务实现 该模块大部分请求的路径相同&…

LeetCode 209 长度最小的子数组(滑动窗口and暴力)

、 法一:滑动窗口 //使用滑动窗口来解决问题 //滑动窗口的核心点有: /*1.窗口内是什么?2.如何移动窗口的起始位置?3.如何移动窗口的结束位置?4.两个指针,怎么判断哪个指针是终止指针,哪个指针…

智慧无人店运营再添黑马,萤石云值守服务显身手

许多创业者选择开店,是出于对自由生活的向往。然而,现实总会给人重重一击。老板们常常面临着熬夜看店、全年无休的困境,而选择增加雇佣员工看店又会面临着成本高昂、利润微薄的问题。“开店容易守店难”、“没有自由”成为了许多店主的共同心…

numpy1

注意:reshape函数的 - 1(是让电脑 自己计算的意思 import numpy as np n np.arange(0,25).reshape(5,5) m np.array([0,5,10,15,20])nn np.repeat(n,2,axis 1) m m.reshape(-1,1)nn[:,1:8:2] np.tile(m,(1,4)) nn[:,0:-1]

以导航产品为核心,东软想为车企扫除出海障碍

得益于新能源汽车领域多年的布局,以及在汽车智能化方面的先发优势,近年来,中国汽车品牌在质与量上都得到了极大提升,并带来强大的竞争力。 据海关总署公布的数据,过去三年,中国汽车出口规模连续突破式发展…