我没有时间尝试将下面的表转换为c#中的有价物。
我有一个2字节的数组,如
byte[] data = new byte[2];
data [ 0 ] = 0x00;
data [ 1 ] = 0xc9;
有没有方法可以将下面的图表转换为c#方法?
格式适用于DS2438智能电池监控IC - http://datasheets.maxim-ic.com/en/ds/DS2438.pdf
注意:底部3位始终为0,因此不应该是公式的一部分并排除。
将该值乘以0.03125以产生最终温度。
所以这个例子就是0xc900,相当于-1760或-1760 * 0.03125 = -55C
感谢任何帮助。
答案 0 :(得分:5)
看起来只是(float)(sbyte)data[1] + (float)data[0] / 256
。
它不是重要它是13位而不是16位;因为达拉斯的位移使得一个漂亮的8.8定点表示。如果您的传感器具有更高的分辨率,那么将使用那些低位,但数学仍然完全相同。