用DS18B20采集温度,分辨率0.0625 怎么变成0.5?? temp=f_temp*10+0.5; 为什么要乘10+0.5???

2024-12-16 01:13:52
推荐回答(2个)
回答1:

第一行已经将读取数据按照分辨率0.0625转变为实际温度,该温度以浮点数表示。
第二行将浮点数转变为整数,+0.5是四舍五入,以31.25℃为例,进行该运算后,变为312.5+0.5=313.
313是整数,上位机读取后再除以10就得到31.3℃,这就是取一位小数的意思。

回答2:

1楼正解