16

byteを に変換するために使用できる定義済みの関数はありますBitArrayか?

byte1 つの方法は、値のすべてのビットを検査してから、ビットごとの演算を実行することです。これよりも簡単な方法があるかどうか疑問に思っていました。

4

4 に答える 4

41

はい、ここで説明されている適切なBitArray()コンストラクターを使用します。

var bits = new BitArray(arrayOfBytes);

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

于 2012-06-26T09:48:58.793 に答える
8

バイト番号または整数などがある場合。

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

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

于 2012-11-01T16:51:36.273 に答える
3

解決策は簡単です。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;
    }
于 2016-10-13T13:16:47.143 に答える