所以这个传感器通过返回两个(高和低)有符号字节返回一个-500-500之间的有符号值。我如何使用这些来确定实际价值是什么?我知道我需要做2的补充,但我不知道如何。这是我现在有 -从2个16位有符号字节获取带符号整数?
real_velocity = temp.values[0];
if(temp.values[1] != -1)
real_velocity += temp.values[1];
//if high byte > 1, negative number - take 2's compliment
if(temp.values[1] > 1) {
real_velocity = ~real_velocity;
real_velocity += 1;
}
但它只是返回什么是积极的负值。例如,-200返回字节255(高)和56(低)。增加了这些311.但是,当我运行上面的代码它告诉我-311。感谢您的任何帮助。
请指定语言(和搜索第一)。 – 2012-03-16 00:31:59
我已经搜索,但我只找到约1个字节的东西,而不是两个组合。 – Sterling 2012-03-16 00:33:52
标题说16位字节,但文本暗示8位字节。这是什么? – 2012-03-16 00:35:23