2016-09-21 1 views
-2

私はこのような2バイトの配列を有する:2バイトのバイト[]と呼ばれるバッファどのように抽出するか、またはC#で2バイト配列のビットを取得し、抽出された各ビットの別々の変数に格納?

buffer[2]; 

バッファを作成

byte[] buffer; 

今私は、0から15のデータビットのように2バイトから各ビットを抽出したいので、それらを別々の変数に格納することができます。

これまで私はこれを行っています。

ように

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

... しかし、私はinfo..itの取得に失敗しましたが、それらのバイトの値があったにも関わらず、ブール値のすべての偽表示されます。バッファ[2]の値は255であり、値は255である。 は、あなたがこのような適切なコンストラクタを使ってextractedBits_を初期化することができ、この

+0

1)CとC#が**非常に異なっ**言語です。正しい言語タグを使用し、タグを迷惑メールしないでください! 2)[ask]を参照し、[mcve]を提供する3)、**あなたの**特定の**問題を述べる。この問題はすでに複数回尋ねられ、回答されています。既成の解決策ではない場合は、必要な手順を実行します。 – Olaf

+0

このコードの半分は有効なC#でさえありません。コンパイルしてテストした実際のコードを表示してください - 偽のコードの断片をデバッグすることはできません。 –

+1

あなたたちは最初のタイマーには失礼です –

答えて

0

を行うには、他の方法があります:

 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 
関連する問題