我有一個32字節的字節數組,其中每個字節(0到3)的前4位表示1到128之間的數字的置位或取消置位狀態。例如,If我給了數字3,我需要在數組的第一個字節中設置位2。如果給出數字9,我需要設置數組中第三個字節的第0位。我遇到的問題是在C#中找到明智的方法來做到這一點。我確信必須有一種簡單的方法來做數學運算,但到目前爲止還沒有找到方法。雖然我在這個問題上撓頭,但我想我會看看是否有人能提出一些建議。使用C#設置字節數組中的位
---------更新-------------------
根據所給出的答案,我已經制作了以下功能。這正是我所需要的。我可能沒有在我的問題中明確說明我需要什麼,但已經給了我足夠的建議以找到正確的代碼。
// outputNumber = number passed into this function
byte[] bytes = new byte[32];
int bit = (outputNumber - 1) % 4;
byte byteSetting = (byte)(1 << bit);
bytes[(outputNumber - 1)/4] |= byteSetting;
這個答案對我的幫助最大,因爲它考慮到了我需要在數組中設置不同字節的位而不是固定字節。 – Retrocoder