1.小于0度的转换
我们知道当测量的实际温度为0度以下时,temp没转换时的情况为下图所示
我们已经知道高5位为1表示的是负数,那么-0.5度的时候为什么是1111 1111 1111 1000。
负数的计算涉及到补码的知识。首先0xFFF8,除去高5位那就是
111 1111 1000
反码为 000 0000 0111
而补码就是反码加1,也就是补码为000 0000 1000
这样0.5就是由补码(十进制的8)乘以0.0625得来。
我们要知道,负数的时候需要关注的是temp的低11位,补码其实就是2的11次方(2048)减去temp的低11位的数值。
-55度的时候,补码为2048-0x0490=880。 转换就是880*0.0625=55。加上符号就是-55度了。
因为测量负数时只能测-0.1~-55.0,所以液晶屏的显示就有像以下两种情况