为什么一个二进制数乘以0.0625就得到了一个十进制数啊,而且二进制数怎么可以与十进制相乘啊
追答0.0625,十进制数。这种说法是不严谨的。
单片机(任意计算机)只能对二进制数进行运算,0.0625虽然写成了十进制的形式,但变成机器代码的时候,还是要“转化”为相应的二进制形式。
所以,((Temp2<<8 ) | Temp1 )与0.0625会让你以为是不同进制的原因,就是前者是直接在机器层面对数据的操作(移位、合并,这些都是非常底层的操作),而后者直接以一种对人友好的形式表达(实际上可能是010101011001000之类的数据)。