ds18b20数据处理中为什么将读回来的高位和低位整合了以后乘以0.0625结果就是十进制数了?
读回来的高低位不都是8位二进制数吗?怎么整合成16位了乘以0.0625就变成十进制数了?tem2是八位2进制数也可以直接和十进制数相乘吗?
temperature=(tem2*256+tem1)*6.25 ;
不理解……
ds18b20数据处理中为什么将读回来的高位和低位整合了以后乘以0.0625结果就是十进制数了?
答案:1 悬赏:0 手机版
解决时间 2021-05-22 15:13
- 提问者网友:练爱
- 2021-05-21 19:49
最佳答案
- 五星知识达人网友:舊物识亽
- 2021-05-21 20:00
对单片机来说,不管任何进制的数字,在单片机内部都是二进制表示的.所以能直接运算.
就算你在编程时用十进制写的100*0.0625,在运算时,单片机还是要先把十进制转换为二进制再进行计算,因此直接用二进制来进行计算是完全可以的.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯