2016-09-21 23 views
-2

我有兩個字節的數組像這樣:如何從c#中的兩個字節數組中提取或獲取位,並將其存儲在每個提取的位的單獨變量中?

byte[] buffer; 

創建字節[]稱爲緩衝

buffer[2]; 

緩衝器2字節

現在我想從2個字節中提取每個位,如0到15個數據位,這樣可以將它們存儲在一個單獨的變量中。

直到現在我已經這樣做了。

var extractbits= buffer[2]; 
Bitarray extractedBits_ = new bitarray(extractbits);              
var bit_0 = extractedBits_ [0];         
var bit_1=extractedBits_ [1]; 

等等... ,但我沒能得到info..it顯示布爾全是假的,即使在它們中值字節。

緩衝區[2]中的值是255; 是否有任何其他方式做到這一點

+0

1)C和C#**很大的不同**語言。使用正確的語言標籤,不要使用垃圾郵件標籤! 2)參見[問],提供[mcve] 3)並說明你的具體**問題。這個問題已經被多次詢問和回答。如果不是現成的解決方案,那麼需要的步驟。 – Olaf

+0

這段代碼的一半甚至不是有效的c#。請顯示您編譯和測試的實際代碼 - 我們無法調試破碎的虛假代碼。 –

+1

你們對第一個計時器是粗魯的 –

回答

0

你可以像這樣適當的構造函數初始化您extractedBits_:

 byte[] arr = new byte[2]; 
     arr[0] = 255; 
     arr[1] = 255; 

     var extractedBits_= new BitArray(arr); 
     var length = arr.Length * 8; 
     for(int i = 0; i < length; i++) 
     { 
      Console.WriteLine(extractedBits_[i]); 
     } 
     //True 
     //True 
     //True 
     //True 
     //True 
     //True 
     //True 
     //False 
     //True 
     //True 
     //True 
     //True 
     //True 
     //True 
     //True 
     //True 
相關問題