Я создал следующий код работает с Java:BitSet показывает значения назад?
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 }.
15 в дополнение до 2 записывается в виде 00001111 (с 1 байт), если я не ошибаюсь.
Это заставляет меня задаться вопросом, почему бы BitSet показать индексы назад. Есть ли разумное объяснение?
'15' является' 2^0 + 2^1 + 2^2 + 2^3'. * Вы * читаете биты назад, а не 'BitSet'. –