我有一个奇怪的场景(有关详细信息,请参阅this answer),我需要将两个字节的数据一起添加。显然这不是正常的补充。这是场景:
我正试图从控件中获取一个坐标。当控件的宽度小于256时,则x坐标占用一个字节,否则需要两次咬合。
所以,我现在有一个控件的实例,宽度大于256。如何将这两个数字加在一起?
例如:
我有道理吗?如果是这样,我怎样才能在C#中进行这种添加?
更新:抱歉这个令人困惑的问题。我想我弄清楚了。请参阅下面的答案。
答案 0 :(得分:2)
你的意思是
256 * high + low
答案 1 :(得分:2)
使用乘法的方法非常清楚但在按位字中并不常见,并且使用BitConverter的方法采用字节数组在许多情况下都不方便。
执行此操作最常见(也很简单) - 使用按位运算符:
var r = (high << 8) | low;
请记住byte ordering,因为并不总是很明显女巫字节很高而女巫很低。
答案 2 :(得分:1)