BitArrayのドキュメントには次のように記載されています。
配列の最初のバイトはビット 0 ~ 7 を表し、2 番目のバイトはビット 8 ~ 15 を表し、以下同様です。各バイトの最下位ビットは、最も低いインデックス値を表します。「バイト [0] & 1」はビット 0 を表し、「バイト [0] & 2」はビット 1 を表し、「バイト [0] & 4」はビット 2 を表し、すぐ。
ビットにインデックスを付けるときは、最下位から開始するのが慣習です。これは、2 進表記で記述した場合の右側です。ただし、配列を列挙するときはインデックス 0 から開始するため、右から左ではなく左から右に出力されます。後ろ向きに見えるのはそのためです。
たとえば、単語 01011010 00101101 (90 45) は次のようにインデックス付けされます。
0 1 0 1 1 0 1 0 - 0 0 1 0 1 1 0 1
----------------------- -----------------------
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
そして、new byte[] { 45, 90 }
最初に重要度の低いものを渡すので、それをコンストラクターに渡します。印刷すると、インデックス順に次のように表示されます1011010001011010
。これは、元のバイナリ表記の逆です。