我有一个奇怪的场景(更多详细信息请参见 this answer),我需要将两个字节的数据加在一起。显然这不是正常添加。这是场景:
我正在尝试从控件中获取坐标。当控件的宽度小于 256 时,x 坐标占用一个字节,否则占用两个字节。
所以,我现在有一个宽度大于 256 的控件实例。如何将这两个数字相加?
例如:
- 2 + 0 不是 2 因为 2 是高字节(或者它可能是低字节而它是 2...)
我说的有道理吗?如果是这样,我如何在 C# 中执行这种加法?
更新:抱歉这个令人困惑的问题。我想我明白了。请参阅下面我的回答。
最佳答案
乘法的方法非常清晰,但在按位字中并不常见,而您使用 BitConverter 的方法采用字节数组,这在许多情况下并不方便。
执行此操作的最常见(也是最简单的方法)- 使用按位运算符:
var r = (high << 8) | low;
并记住 byte ordering因为并不总是很明显哪个字节是高字节,哪个字节是低字节。
关于c# - 如何将 "Add"两个字节放在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3859094/