当前位置: 首页 > article >正文

[js] 0.1+0.2

0.1+0.2≠0.3?? 无可避免的浮点误差
【前端面试】为什么 0.1 + 0.2 不等于 0.3

计算机是通过二进制的方式存储数据的,所以计算机计算 0.1 + 0.2 的时候,实际上是计算的两个数的二进制的和。0.1 的二进制是0.0001100110011001100…(1100 循环),0.2 的二进制是:0.00110011001100…(1100 循环),这两个数的二进制都是无限循环的数。

二进制通过64位 IEEE754存储,但二进制浮点数小数位只能存52位,多出的位数会遵循为1则进位,为0则舍去的规则处理,会导致第一次精度丢失

在0.1+0.2时,小数位相加导致小数位又多出一位,又进行1进0舍操作,又造成一次精度丢失

综上导致了0.1+0.2!=0.3


http://www.kler.cn/a/403580.html

相关文章:

  • Swift 数组
  • 使用node-addon-api实现从c到nodejs模块全流程
  • 【CVE-2024-9413】SCP-Firmware漏洞:安全通告
  • QoE和QoS的区别
  • Centos使用docker搭建Graylog日志平台
  • 南京邮电大学算法设计-二叉树先序遍历算法动态演示
  • CentOS操作系统下安装Nacos
  • C语言 | Leetcode C语言题解之第564题寻找最近的回文数
  • 《Python网络安全项目实战》项目6 编写密码工具程序
  • C#拼接小文件合成一个大文件
  • Go context.Context
  • Oracle - 多区间按权重取值逻辑 ,分时区-多层级-取配置方案(二)
  • 机器翻译基础与模型 之二: 基于CNN的模型
  • 蓝桥杯每日真题 - 第18天
  • git修改安装位置后处理
  • labview中的调用链
  • 【Redis】GEO数据结构
  • Python实战 | 使用 Python 的日志库(logging)和 pandas 库对日志数据进行分析
  • PlncRNA-HDeep:使用基于两种编码风格的混合深度学习进行植物长非编码 RNA 预测
  • 5、深入剖析PyTorch DataLoader源码
  • 8-表的定义
  • 如何在 Ubuntu 上设置 SSH X11 转发并访问远程图形界面
  • Quality minus junk论文阅读
  • PyTorch基础学习01_创建张量常见属性数据转换图像
  • vue+node+Express+xlsx+emements-plus实现导入excel,并且将数据保存到数据库
  • 002创建ASP.NET Core项目-数据库优先