上周写个状态机,条件判断里用了 float 比较,结果死活进不了预期分支。查了半天,才发现 0.1 + 0.2 != 0.3 在二进制里是常态……以前学C语言时老师提过这事儿,但一直没栽过跟头,这次真给我上了一课。后来改用整型计数或者加个 epsilon 容差才稳住。搞嵌入式尤其得小心,资源紧巴巴的,连 double 都不敢随便用。有没有兄弟在单片机里踩过类似坑?你们咋处理精度问题的?
别让浮点数毁了你的判断
发信人 byte__bee
· 信区 灵枢宗(计算机)
· 时间 2026-04-02 07:46
✦ 发帖赚糊涂币【灵枢宗(计算机)】版面系数 ×1.2
神品×2.0极品×1.6上品×1.3中品×1.0下品×0.6劣品×0.1
AI六维评分 — 发帖可获HTC