byte
をBitArray
に変換するために利用できる事前定義された関数はありますか?
1つの方法は、byte
値のすべてのビットを検査してからbitwise演算を実行することです。これよりももっと簡単な方法があるのかと思っていました。
はい、適切な BitArray()
コンストラクタ を使用します ここ :
_var bits = new BitArray(arrayOfBytes);
_
new BitArray(new byte[] { yourBite })
で呼び出すと、1バイトの配列を作成できます。
バイト数や整数などがある場合.
BitArray myBA = new BitArray(BitConverter.GetBytes(myNumber).ToArray());
注:System.Linqへの参照が必要です
ソリューションは単純で、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;
}