接单日记:理解浮点数运算的误差
Posted A-L-Kun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接单日记:理解浮点数运算的误差相关的知识,希望对你有一定的参考价值。
接单日记(一):理解浮点数运算的误差
此为一个实验报告,故遵守实验报告的格式。
一、 实验目的
- 理解python中的浮点数计算存在的一个误差问题
- 理解这种误差对程序带来的危害
- 理解如何解决程序产生的误差
二、 实验内容
用Python程序判断0.3 – 0.2的值是否为0.1,如果不是0.1,那么,如何让这个值是0.1呢?
三、 程序及结果
from decimal import Decimal
# 进行误差的判断
value = 0.3 - 0.2
print(value == 0.1) # 输出:False
# 消除误差的方法:使用 Decimal 库进行精确运算
value_new = float(Decimal("0.3") - Decimal("0.2"))
print(value_new == 0.1) # 输出:True
本文来自博客园,作者:Steve_Anthony,转载请注明原文链接:https://www.cnblogs.com/liuzhongkun/p/17355599.html
C++浮点数误差是啥
各路大神,请问浮点数误差是什么意思啊,是说比如0.00000013与0.00000014在存储时都存为0.0000001这种意思吗。表示完成不理解。还有怎么判断两个浮点数是否相等。
..
在C里比较浮点数操作是将两个数的差<0.0000001;或者更小的数来取得两个浮点数相等 参考技术A 严格来说,应该是科学计数法的有效数字位数问题,理论值可能有很多位有效数字,但存储为浮点数时,单精度只有7到8位有效数字,后面的被截断,从而产生误差。科学计算一般采用双精度,有效数字位数可达到13位左右。
判断两个浮点数是否相等时,不能按直接相等判断,一般情况下都是判断两个数的差的绝对值是否小于某个给定的小数(相等于给定一个精度),如单精度取0.0001或更小
以上是关于接单日记:理解浮点数运算的误差的主要内容,如果未能解决你的问题,请参考以下文章