簡體   English   中英

如何將兩個字節“加”在一起

[英]How to “Add” two bytes together

我有一個奇怪的場景(有關更多詳細信息,請參閱此答案),我需要將兩個字節的數據添加在一起。 顯然這不是正常的添加。 這是場景:

我試圖擺脫控制的坐標。 當控件的寬度小於 256 時,x 坐標占用一個字節,否則占用兩個字節。

所以,我現在有一個寬度大於 256 的控件實例。 如何將這兩個數字相加?

例如:

  • 2 + 0 不是 2,因為 2 是高字節(或者它可能是低字節,它是 2...)

我說的有道理嗎? 如果是這樣,我如何在 C# 中進行這種添加?


更新:抱歉這個令人困惑的問題。 我想我明白了。 看我下面的回答。

你的意思是這樣的

256 * high + low

?

乘法方法很清楚,但在按位字中並不常見,並且您使用 BitConverter 的方法采用字節數組,這在許多情況下並不方便。

執行此操作的最常見(也是最簡單的方法) - 使用按位運算符:

var r = (high << 8) | low;

記住字節順序,因為哪個字節高哪個低並不總是很明顯。

以防萬一其他人需要這個,我一直在尋找:

BitConverter.ToInt16

它需要兩個字節並將它們轉換為整數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM