[js] 0.1+0.2

embedded/2024/11/21 19:09:11/

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.ppmy.cn/embedded/139404.html

相关文章

springboot嗨玩旅游网站

摘 要 嗨玩旅游网站是一个专为旅行爱好者打造的在线平台。我们提供丰富多样的旅游目的地信息,包括景点信息、旅游线路、商品信息、社区信息、活动推广等,帮助用户轻松规划行程。嗨玩旅游网站致力于为用户提供便捷、实用的旅行服务,让每一次旅…

UniApp在Vue3下使用setup语法糖创建和使用自定义组件

UniApp在Vue3下使用setup语法糖创建和使用自定义组件 在现代前端开发中&#xff0c;Vue 3 的 <script setup> 语法糖极大地简化了组件的编写和使用。本文将详细介绍如何在 UniApp 中使用 Vue 3 的 <script setup> 语法创建自定义组件&#xff0c;并在其他组件中使…

在CentOS 7上配置Nginx的TCP端口转发

在现代网络环境中,TCP端口转发是一项非常重要的功能,它允许你将网络流量从一个端口或地址转发到另一个端口或地址。Nginx作为一个高性能的HTTP和反向代理服务器,同时也支持TCP/UDP流量的转发,这得益于其内置的stream模块。本文将详细介绍如何在CentOS 7上安装Nginx,并配置…

攻防世界-mfw

进入题目以后可以点击三个网页&#xff0c;这三个网页其中有一个提示我们git、php、Bootstrap。可以联想到是git泄露 在url后面的参数改为.git 存在git漏洞&#xff0c;这时候就可以利用python的githacker库下载泄漏的文件 查看index.php的源代码 <?phpif (isset($_GET[pa…

uniapp开发微信小程序笔记4-自定义组件

前言&#xff1a;本文重点记录的是uniapp如何封装一个自定义组件&#xff0c;以swiper组件为例。 一、创建组件目录 官方文档中的easycom组件规范中可以看到这样一句话&#xff1a; 只要组件安装在项目的components目录下或uni_modules目录下&#xff0c;并符合components/组…

2、PyTorch张量的运算API(上)

1. 教学视频 2、PyTorch张量的运算API&#xff08;上&#xff09; 因比较忙&#xff0c;暂时就做个过场吧。 2. Python代码 Python #!/usr/bin/env python # -*- coding:utf-8 -*- # FileName :torch_learn2.py # Time :2024/11/16 19:53 # Author :Jason Zhangi…

某杀软环境下的添加账户

某杀软环境下的添加账户 我们在某个杀软环境下&#xff0c;正常添加账户一般是会被直接拦截的 白&#xff0b;黑 在这个环境下&#xff0c;白&#xff0b;黑是最实用的绕过方式&#xff0c;我们可以通过调用winapi来创建账户&#xff0c;这些代码再存储到dll里面&#xff0c…

2025 -生信信息学 - GO-KEGG-DO分析

生信信息学 - GO-KEGG-DO分析 01 GO分析 library("org.Hs.eg.db") library("clusterProfiler") library("enrichplot") library("ggplot2") library("ggnewscale") library("enrichplot") library("DOSE&q…