У меня проблема с моим кодом.Я хочу хранить числа от 0 до 127 в битах, но я не хочу тратить количество битов как 0 в начале номера для некоторых чисел.
Например, для сохранения 15 потребуется4 битаЯ не хочу тратить еще 4 бита для установки 0 в начале 1111. Другими словами, я хочу сохранить 00001111 (что составляет 15) как только 1111. Проблема в том, что следующее число может быть в другой битовой длине.
Как я могу сохранить эти числа наиболее эффективным способом, не тратя 1 байт на каждый из них.Представьте, что у меня есть ряд чисел следующим образом:
4, 66, 127, 55, 0, 6
Я ожидаю результаты для чисел 4, 66, 127, 55, 0, 6выглядеть следующим образом:
100 1000010 1111111 110111 0 110
вместо: 00000100 01000010 01111111 00110111 00000000 00000110
И я не хочу указывать 1 байт для каждого.Как мне это сделать?Спасибо за любую помощь.
Я прочитал кое-что о битовых длинах и битовых полях.Но я ничего не мог понять из этого.
Я ожидаю, что результаты для чисел 4, 66, 127, 55, 0, 6 будут выглядеть так:
100 1000010 1111111 110111 0 110
вместо: 00000100 01000010 01111111 00110111 00000000 00000110