打印
[ARM入门]

浮点变量与零值的比较

[复制链接]
389|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
呐咯密密|  楼主 | 2023-1-31 16:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

不可将浮点变量用“ ==” 或“ !=” 与任何数字比较 。千万要留意, 无论是 float还是 double类型的变量, 都有精度限制。

所以一定要避免将浮点变量用“ ==” 或“ !=” 与数字比较,应该设法转化成“ >=” 或“ <=” 形式。假设浮点变量的名字为 x,应当 将:

if (x == 0.0) // 隐含错误的比

转化为:

if ((x>=-EPSINON) && (x<=EPSINON))

其中 EPSINON是允许的误差(即精度) 。


使用特权

评论回复
沙发
yangjiaxu| | 2023-1-31 21:34 | 只看该作者
最近开始重新捡一下C语言的知识啊?整的真的都挺容易让人忽略的知识点  真不错

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:苏州澜宭自动化科技嵌入式工程师
简介:本人从事磁编码器研发工作,负责开发2500线增量式磁编码器以及17位、23位绝对值式磁编码器,拥有多年嵌入式开发经验,精通STM32、GD32、N32等多种品牌单片机,熟练使用单片机各种外设。

355

主题

2806

帖子

41

粉丝