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