ds18b20数据处理中为什么将读回来的高位和低位整合了以后乘以0.0625结果就是十进制数了?

问题描述:

ds18b20数据处理中为什么将读回来的高位和低位整合了以后乘以0.0625结果就是十进制数了?
读回来的高低位不都是8位二进制数吗?怎么整合成16位了乘以0.0625就变成十进制数了?tem2是八位2进制数也可以直接和十进制数相乘吗?
temperature=(tem2*256+tem1)*6.25 ;
不理解……
1个回答 分类:综合 2014-11-01

问题解答:

我来补答
对单片机来说,不管任何进制的数字,在单片机内部都是二进制表示的.所以能直接运算.
就算你在编程时用十进制写的100*0.0625,在运算时,单片机还是要先把十进制转换为二进制再进行计算,因此直接用二进制来进行计算是完全可以的.
 
 
展开全文阅读
剩余:2000
上一页:圆向量