代码之家  ›  专栏  ›  技术社区  ›  NedOoO

将十进制数转换为16位温度二进制数

  •  0
  • NedOoO  · 技术社区  · 2 年前

    我有一个关于转化的问题。 在一份关于DS18B20温度传感器的文件中,我需要将18.25C转换为二进制。 有人能解释一下怎么做吗。 This is the examples i have

    我试着在网上寻找答案,但找不到类似的答案。

    1 回复  |  直到 2 年前
        1
  •  0
  •   D Stanley    2 年前

    看起来二进制值是以0.0635度为增量的十进制温度( 0.5 = 0.0625*8 = 0008h , 10.125 = 0.0625*162 = 00A2h )

    所以的转换 18.25 将是

    18.25/0.0625 = 292 = 0124h = 0000 0001 0010 0010
    

    或者,因为 1/0.0625 = 16 ,可以将其乘以16进行转换:

    18.25 * 16 = 292 = 0124h = 0000 0001 0010 0010