【发布时间】:2011-05-04 19:34:17
【问题描述】:
我很困惑为什么这不起作用,有人可以提供一些见解吗?
我有一个接收整数值的函数,但想将十六进制值的高两位存储到字节数组元素中。
假设距离是 (24,135)10 还是 (5E47)16
public ConfigureReportOptionsMessageData(int Distance, int DistanceCheckTime)
{
...
this._data = new byte[9];
this._data[0] = (byte)(Distance & 0x00FF); // shows 47
this._data[1] = (byte)(Distance & 0xFF00); // shows 00
this._data[2] = (byte)(DistanceCheckTime & 0xFF);
...
}
【问题讨论】:
-
你忘记了位移...
-
顺便说一句 - 你对距离中的其他 2 个字节做了什么?
-
@Reed Copsey:没什么,有一个最大值。如果是米,限制是 30,000。