【发布时间】:2015-07-26 23:32:56
【问题描述】:
我正在开发温度传感器的驱动程序。 这些值以十六进制形式出现,它们的存储方式如下:
string tempHex = "08C5"; //-> Would be 22,45°C
问题是,传感器也可以注意到负值,我不知道如何在 C# 中检测到 2 的补码。
也许你可以帮助我。 谢谢!
【问题讨论】:
-
您阅读过传感器的数据表吗?通常在数据表中你会得到一个数学表达式来转换utile data中的raw data。
-
我做了,但问题是,他们只说负值以 2 的补码形式显示。
-
“值以十六进制形式出现”是什么意思?你实际上是把它们读成strings?这似乎很奇怪。它总是2个字节吗?这个问题目前太模糊了......如果你能展示你到目前为止所拥有的东西,那真的很有帮助。
-
如果值是 2 的补码形式,你能不能得到二进制/原始数据并检查前几位?
-
是的,我实际上将它们作为字符串获取。有问题吗?