社区
C语言
帖子详情
浮点数的舍入误差问题
agxywjbing
2008-05-27 10:08:17
原先学习时没注意的一个问题:
1.在谭老的教材上有一个这样的叙述:1.0/3*3的结果并不等于1。几天上机验证结果还就是1.000000-----(精度问题我也是理解的,这里不知为何?)
2.输入若干学生成绩(浮点数),以特殊值-1为结束标记,求平均值。这一题原先学习时好象说循环条件不能写成while(score!=-1) 说是因数精度问题,这样会是死循环,原先也就这样认为了,可前几天上机验证了,确不是这么回事,并不会死循环。
哪位大虾能为我解惑?????
...全文
375
6
打赏
收藏
浮点数的舍入误差问题
原先学习时没注意的一个问题: 1.在谭老的教材上有一个这样的叙述:1.0/3*3的结果并不等于1。几天上机验证结果还就是1.000000-----(精度问题我也是理解的,这里不知为何?) 2.输入若干学生成绩(浮点数),以特殊值-1为结束标记,求平均值。这一题原先学习时好象说循环条件不能写成while(score!=-1) 说是因数精度问题,这样会是死循环,原先也就这样认为了,可前几天上机验证了,确不是这么回事,并不会死循环。 哪位大虾能为我解惑?????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
superhackerzhang
2008-05-28
打赏
举报
回复
LZ说的第二个问题我前几天确实遇到了,我个人认为概率较小,但还是有可能发生的。
fan5432
2008-05-28
打赏
举报
回复
精度问题
现代的计算机浮点数精度高了,误差就小了
ForestDB
2008-05-28
打赏
举报
回复
误差是有的,但也是有条件的...
arong1234
2008-05-27
打赏
举报
回复
在那个时代也许是对的。“浮点数不是精确的”这句话没错,只是一个不合适的例子也许无法证明反而会让人更疑惑。double现在有15位精度,90年代初的时候客没有这么高精度
我想楼主还是该换个更新的书
[Quote=引用 1 楼 akirya 的回复:]
浮点数不是精确的, 老谭说的太绝对了
[/Quote]
arong1234
2008-05-27
打赏
举报
回复
1. 谭老师写书那会,计算机字长没这么高,因此可能比较对,当字长比较多时,就不能这样验证了。误差还是存在的,只是不能再你这种问题体现出来。
你去算一下printf("%20.16lf",0.123456789012345678-0.123456789012345677)看看结果多少。
2. 应该是套用“浮点数不精确”这个规则是犯了教条主义了
楼主还是去弄明白到底为什么浮点数不精确吧,一两个例子说明不了什么,更何况例子还可能是错误的。
[Quote=引用楼主 agxywjbing 的帖子:]
原先学习时没注意的一个问题:
1.在谭老的教材上有一个这样的叙述:1.0/3*3的结果并不等于1。几天上机验证结果还就是1.000000-----(精度问题我也是理解的,这里不知为何?)
2.输入若干学生成绩(浮点数),以特殊值-1为结束标记,求平均值。这一题原先学习时好象说循
环条件不能写成while(score!=-1) 说是因数精度问题,这样会是死循环,原先也就这样认为了,可前几天上机验证了,确不是这么回事,并不会死循环。
哪位大虾能为我解惑…
[/Quote]
珍惜生命远离CPP
2008-05-27
打赏
举报
回复
浮点数不是精确的, 老谭说的太绝对了
计算机
浮点数
算术运算的
舍入
误差
研究 (2005年)
对计算机
浮点数
算术运算的
舍入
误差
进行分析,是对数值计算方法作
误差
分析的基础。论文全面研究了计算机
浮点数
算术运算的
舍入
误差
的基本理论,对有关结论均作了严格的论证。并举例说明由算术运算的
误差
界,可建立较复杂运算的
误差
界。还研究了向前
误差
分析和向后
误差
分析的要点。推广上述结果,对矩阵基本运算的
舍入
误差
进行了估计。
单精度
浮点数
累加和
误差
研究 (2013年)
计算机中进行
浮点数
加法运算时,需要进行对阶和右规格化操作,该操作会进行
舍入
处理,这种处理过程会产生
误差
,
浮点数
累加运算会造成
误差
的累积,导致计算结果精度不够甚至计算结果错误。通过实验手段研究单精度
浮点数
累加过程中不同结合顺序对
浮点数
累加和
误差
的影响,探索结合顺序导致计算
误差
的规律,为多核计算、GPU计算、多处理器计算等计算范型和计算结构提供选择结合方法的依据,便于发挥其并行计算的优势。
Modbus协议讲解及实现
课程背景Modbus 协议是工业自动化控制系统中常见的通信协议,协议的全面理解是个痛点。本课程主讲老师集10多年在Modbus协议学习、使用中的经验心得,结合当前物联网浪潮下Modbus协议开发的痛点,推出这套面向Modbus 协议初学者的课程。本课程不同于以往市面课程只是协议讲解无实现代码,而是采用讲解与实践并重的方式,结合STM32F103ZET6开发板进行手把手编程实践,十分有利于初学者学习。涵盖了学习者在Modbus协议方面会遇到的方方面面的
问题
,是目前全网首个对Modbus协议进行全面总结的课程。课程名称 协议讲解及实现>>课程内容1、Modbus 协议的基础。2、Modbus协议栈函数编程实现。3、Modbus协议在串行链路编程实现。4、Modbus协议在以太网链路编程实现。5、常见
问题
的解决方法。带给您的价值通过学习本课程,您可以做到如下:1、全面彻底的理解Modbus协议。2、理解在串行链路,以太网链路的实现。3、掌握Modbus协议解析的函数编程方法,调试工具的使用。4、掌握多个串口,网口同时运行同一个Modbus协议栈的方法。5、掌握Modbus协议下,负数,
浮点数
等处理方法。讲师简介许孝刚,山东大学工程硕士,副高职称,技术总监。10多年丰富嵌入式系统开发经验,国家软考“嵌入式系统设计师”。2017年获得“华为开发者社区杰出贡献者”奖励。
python
浮点数
四舍五入需要注意的地方
本文主要分享基于python的数据分析三方库pandas,numpy的一次爬坑经历,发现并分析了python语言对于
浮点数
精度处理不准确的
问题
,并在最后给出合理的解决方案。如果你也在用python处理数据,建议看一下,毕竟0.1的
误差
都可能造成比较大的影响。
问题
出现 早上到了公司,领导发了几个文件过来,说这两天测试环境跑出来的数据,与实际情况有所出入,看看哪出的
问题
,尽快解决··· 开始排查 先对比数据,发现并不是所有的数据都出现
问题
,只有10%左右的数据有这个
问题
,说明应该不是逻辑上的
问题
,初步判断可能为个别情况需要特殊处理,考虑不周导致 检查梳理各个运算模块,用debug断点调试一波,
浮点算术须知(英文)
Goldburg作于1991年,介绍
浮点数
的
舍入
,
误差
分析,IEEE标准以及定理等等。
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章