首页 > 其他分享 >浮点数计算 0.1+0.2 ≠ 0.3

浮点数计算 0.1+0.2 ≠ 0.3

时间:2023-05-13 13:22:24浏览次数:44  
标签:0.1 浮点数 0.2 十进制 Decimal 0.3

相关网站:

1.原因

科学计数法的二进制版本,类似于十进制中表示 1/3 是无限循环小数,0.1 在二进制中是无限循环小数,无法精确表示

为什么使用浮点数,其中关键一点就是计算速度快且占用内存空间小。

2.如何注意和规避

对于浮点数不能直接判断是否相等,而应该以它们的差值小于某个小值作为判断:

0.1 + 0.2 == 0.3 # 判断方法是不可靠的
# 推荐方法
a = 0.1 + 0.2
b = 0.3
abs(a - b) < 1e-6

可以使用 decimal (十进制定点数),表示任意精度的十进制数。

from decimal import Decimal
Decimal('0.1')+Decimal('0.2')

标签:0.1,浮点数,0.2,十进制,Decimal,0.3
From: https://www.cnblogs.com/fengxijlu/p/17397204.html

相关文章

  • 6、浮点数
    内容来自王争Java编程之美上一节课,我们讲了整型数的表示方法:补码,今天我们讲讲浮点数的表示方法浮点数在平时的开发中也经常用到,比如用来表示金额等,浮点数并不能精确地表示整数或小数,所以,在使用时,要多加小心,稍有不慎就会引入bug因此,了解浮点数的表示方法等相关理论知识,就相......
  • rnacos 版本更新为 v0.1.4
    rnacos是一个用rust重新实现的nacos。周一发布rnacos后,有收到部分对2.0版本兼容问题的反馈。主要是nacos2.0版本的注册心跳与1.0不同,rnacos之前没对2.0版本的注册实例心跳机制做兼容。发现问题后快速更新一个版本,以保证rnacos功能上达到可用条件。v0.1.4版本更新内容修......
  • questions_03 【http://127.0.0.1:8000/%5Emanage/(%3FP1%5Cd+)/dashboard/】项目id参
    【原因背景】当我们在点击进入具体项目的时候,根据我们所写的url,中间应该包含我们的项目id,当不知道什么原因可以进入项目,但是id是乱码的【原因分析】在查看相关资料后发现是我们在写path的时候出现的问题:Django2.2.x之后的版本path:用于普通路径,不需要自己手动添加正则首位......
  • Unity 2021.3.6f1 UnityHub 3.0.1 Win 安装图解 Unity 2021.3
     Unity2021.3.6f1UnityHub3.0.1Win安装图解Unity3D是一款跨平台的游戏引擎软件,它可用于开发2D、3D游戏以及虚拟现实、增强现实等应用程序。Unity3D提供了丰富的功能和工具,让开发者可以快速地创建高质量、交互性强的游戏和应用程序。Unity3D支持多种编程语......
  • 每日打卡-20.1
    一.问题描述编写程序提示用户输入一个班级中的学生人数n,再依次提示用户输入n个人在课程A中的考试成绩,然后计算出平均成绩,显示出来。请使用本书第9章中的数组类模板Array定义浮点型数组存储考试成绩。二.设计思路按照题目要求编写代码三.流程图四.伪代码 1五.代码......
  • 每日打卡-20.2
    一.问题描述初始化int类型数组datal[]={1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20},应用本章的直接插入排序函数模板进行排序。对此函数模板稍做修改,加入输出语句,在每插入一个待排序元素后显示整个数组,观察排序过程中数据的变化,加深对插入排序算法的理解。二.设计思路三.流程图四.......
  • 以太网通信控制板-关于MODBUS, IEEE754浮点数, 字节和位的转换
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/CH579_DTU_PBX/index1.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p> MODBU......
  • ArcGIS Pro 3.0.1破解版安装步骤
    记录ArcGISPro3.0.1破解版安装步骤。1、先安装windowsdesktop组件:windowsdesktop-runtime-6.0.5-win-x64.exe2、安装ArcGISPro3.0软件:ArcGISPro_30_182209.exe等待安装完成: 安装完成后先不运行。3、安装3.0.1升级包:ArcGIS_Pro_301_182232.msp 同样,安装完成后先不运......
  • Windows安装Wireshark实现127.0.0.1抓包
    Windows安装Wireshark实现127.0.0.1抓包 简介Wireshark(前称Ethereal)是一个网络封包分析软件。官网下载Npcap支持Win7及以上系统,基于WinPcap库,可以抓取通过127.0.0.1本地环回地址的包。官网WinPcap是Wireshark默认抓包工具,据Wireshark和Npcap的官网说不再更新......
  • NetBackup 10.2 新功能介绍:PostgreSQL 和 MySQL 自动化恢复达成
    原文来自:VERITAS中文社区2023-04-27在执行恢复任务时,手动提取、更新数据库和实例并将其附加到PostgreSQL和MySQL是常规操作。而在最新的NetBackup10.2版本中,执行恢复已不再需要上述手动流程,PostgreSQL和MySQL数据库的备份恢复变得更加便捷、高效。正所谓:NetBackup......