首页 > 其他分享 >大数值相加的问题

大数值相加的问题

时间:2023-02-02 09:25:05浏览次数:24  
标签:二进制位 相加 JavaScript 53 问题 数值 精确

 

看示例: 2 ** 53  = 9007199254740992

 

 

 看到了吧,加1后,值不变,为啥呢,
  查了后了解到: JavaScript 所有数字都保存成 64 位浮点数,这给数值的表示带来了两大限制。
  一是数值的精度只能到 53 个二进制位(相当于 16 个十进制位),大于这个范围的整数,JavaScript 是无法精确表示,
  这使得 JavaScript 不适合进行科学和金融方面的精确计算。二是大于或等于2的1024次方的数值,JavaScript 无法表示,会返回Infinity

 

这个时候需要是bigInt 类型

9007199254740992n + 1n
// 转字符串
9007199254740993n + ''

 

标签:二进制位,相加,JavaScript,53,问题,数值,精确
From: https://www.cnblogs.com/hill-foryou/p/17084803.html

相关文章

  • 编写 预留单查询报表 遇到的问题
    1.写完代码运行的时候报错了,前面输查询条件的那个页面没有问题,展示的时候出问题了,错误信息是:运行时错误      GETWA_NOT_ASSIGNED上网查了之后,说是内表结......
  • 对较为复杂的游走问题的探讨
    lyin问我的,回宿舍推了十分钟推出来了,记一下。首先有一个看起来很经典的游走问题:假设有三个点A,B,C,有三条边\(A\toA,A\toB,A\toC\),概率分别为\(p_A,p_B,......
  • 中考物理题中图像问题的妙手
    初中物理,经常会出现图像题,小题、中题、大题中都有。大部分的公式都是三个物理量组成的,如ρ=m/V,v=s/t等等。这些在其中一个固定之后,另外两个物理量的关系则为正比抑或是反......
  • python传递的值还是引用(即改变返回值或者参数值,是否影响本身)
    Python参数传递采用的是“传对象引用”的方式。这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表或者类)的引用,就能修改对象的原始值......
  • 子窗口的delete问题
    首先,new一个对象会调用对象的构造函数。delete一个对象会调用对象的析构函数。(准确来讲是delete一个对象指针)我们对delete进行展开,看下面一个例子: deletec做了两步......
  • fail2ban无法正常封禁ip问题查疑
    SEOfail2bandidn'tworkduetowrongtimeinauth.log问题某台公网主机重装系统后fail2ban工作不正常,表现为auth.log有失败记录但ip无法被禁止。排查按照之前的文......
  • 关于github上README.md图片显示不出来的问题解决办法
    关于github上README.md图片显示不出来的问题解决办法出现原因:如果你的README文件内显示图片的路径是正确的,那么很有可能是因为DNS被污染了所以导致显示不正常,即无法访问存放......
  • 修复Windows下有线无线网络掉线问题的解决方案
    背景介绍在美丽的钱塘江畔,笔者拿着价值3000元左右的爱国企业联想公司制造的联想笔记本电脑插上网线发现没网,没网没关系啊,小编学的就是计算机,能搞定啊!老规矩,拍拍手......
  • 解决git clone下载慢的问题
    修改hosts文件文件位置:Windows:C:\Windows\System32\drivers\etc\hostsLinux:sudogedit/etc/hosts添加以下两行内容:151.101.185.194github.global-ssl.fastly.net192.30.......
  • 解决STM32定时器初始化后直接进入中断问题
    解决STM32定时器初始化后直接进入中断问题STM32初始化完毕后第一次启动定时器直接进入中断,原因是定时器的寄存器中断标识没有被清理掉。以HAL库为例,在​​MX_TIMx_Init​​......