[ARM入门] 浮点变量与零值的比较

[复制链接]
604|1
 楼主| 呐咯密密 发表于 2023-1-31 16:16 | 显示全部楼层 |阅读模式

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

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

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

转化为:

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

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


yangjiaxu 发表于 2023-1-31 21:34 | 显示全部楼层
最近开始重新捡一下C语言的知识啊?整的真的都挺容易让人忽略的知识点  真不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

567

主题

4082

帖子

56

粉丝
快速回复 在线客服 返回列表 返回顶部