Javaで実行する次のコードを設定しました。
BitSet bitSet = BitSet.valueOf(new byte[] { (byte)15 });
System.out.println(bitSet);
驚いたことに、これは
{0, 1, 2, 3} //the indexes of the 1's in the bitset
それ以外の
{ 4, 5, 6, 7 }.
私が間違っていなければ、2の補数の15は00001111(1バイト)と書かれています。
それは、なぜBitSetがインデックスを逆方向に表示するのか疑問に思います。合理的な説明はありますか?