Значение кодирования из списка как BitArray - PullRequest
0 голосов
/ 05 мая 2011

У меня есть список из N цветов. Мне нужно представить любое из этих значений как BitArray. Если N = от 129 до 255, то, очевидно, каждый цвет должен быть представлен в виде BitArray с длиной 8. Это похоже на кодирование чисел, но как я могу получить фактический BitArray, если я знаю индекс цвета из этого списка?

1 Ответ

2 голосов
/ 05 мая 2011

Вам нужен массив байтов , а не BitArray (и, конечно, не массив BitArrays).Если один цвет может быть однозначно определен с использованием числа от 129 до 255, то вам необходимо 8 бит для его представления.

BitArray используется для эффективного хранения большого массива бит ;использование его для хранения 8 битов не имеет смысла.

С другой стороны, вы можете хранить массив байтов (где каждый байт - один цвет) в большом BitArray.Но это имеет смысл, только если вам нужно изучить список цветов в целом, проходя через отдельные биты нескольких цветов одновременно.

[Редактировать] Чтобы быть точным, как Хенкуказал, что если N находится между 0 и 255, то вам нужно 8 бит.Если общее количество цветов <= 127, и вы помечаете их с помощью чисел от 129 до 255, то вам нужно всего 7 бит.Но я верю, что ОП хотел сказать, что они будут иметь не менее 129 цветов и не более 255. </p>

...