前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言 | 每日基础(82)

C语言 | 每日基础(82)

作者头像
小林C语言
发布2020-10-30 11:13:00
2670
发布2020-10-30 11:13:00
举报

读者:为什么浮点计算程序表现奇怪, 在不同的机器上给出不同的结果?

阿一:电脑一般都是用一种浮点的格式来 近似的模拟实数的运算, 注意是近似, 不是完全。下溢、误差的累积和其它非常规 性是常遇到的麻烦。不要假设浮点运算结果是精确的, 特别是别假设两个浮点值可以进行等价比 较。也不要随意的引入 “模糊因素”。这并不是C语言特有的问题, 其它电脑语言有一样的问题。浮点的某些方面被通 常定义为“中央处理器是这样做的”, 否则在一个没有“正 确” 浮点模型的处理器上, 编译器要被迫做代价非凡的仿真。

读者:有什么好的方法来验对浮点数在 “足够接近” 情况下的等值?

阿一:浮点数的定义决定它的绝对精确度会随着其代表的值变化, 所以比较两个浮 点数的最好方法就要利用一个精确的阈值。这个阈值和作比较的浮点数值大小有关。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C语言入门到精通 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档