web-dev-qa-db-ja.com

C#バイトをBitArrayに変換する

byteBitArrayに変換するために利用できる事前定義された関数はありますか?

1つの方法は、byte値のすべてのビットを検査してからbitwise演算を実行することです。これよりももっと簡単な方法があるのか​​と思っていました。

13
Shamim Hafiz

はい、適切な BitArray()コンストラクタ を使用します ここ

_var bits = new BitArray(arrayOfBytes);
_

new BitArray(new byte[] { yourBite })で呼び出すと、1バイトの配列を作成できます。

35
CodeCaster

バイト数や整数などがある場合.

BitArray myBA = new BitArray(BitConverter.GetBytes(myNumber).ToArray());

注:System.Linqへの参照が必要です

7
Jesus Mogollon

ソリューションは単純で、2つの命令(次のコードでマークされている)だけです。Convert.ToString(btindx,2)を使用してバイトをバイナリに変換し、結果の文字列を8ビット(または長さ8)にゼロパッドします。strBin.PadLeft(8,'0');およびすべてのバイナリ文字列を連結してバイト配列のビットストリームを形成します。必要に応じて、文字列の配列を形成して各バイトのバイナリ表現を分離することもできます。

    byte[] bt = new byte[2] {1,2};

    string strBin =string.Empty;
    byte btindx = 0;
    string strAllbin = string.Empty;

    for (int i = 0; i < bt.Length; i++)
    {
        btindx = bt[i];

        strBin = Convert.ToString(btindx,2); // Convert from Byte to Bin
        strBin = strBin.PadLeft(8,'0');  // Zero Pad

        strAllbin += strBin;
    }
3
Akbar Jafari