Я хочу хранить много информации в блоке по битам и сохранять ее в файл.
Чтобы мой файл не был таким большим, я хочу использовать небольшое количество бит для сохранения указанной информациивместо int.
Например, я хочу сохранить день, час, минуту в файле.
Мне нужно только 5 бит (день) + 5 бит (час) + 6 бит(Минута) = 16 бит памяти для хранения данных.
Я не могу найти эффективный способ сохранить его в блоке, чтобы поместить в файл.
В моей работе есть некоторые большие проблемы:
длина данных, которую я хочу хранить каждый раз, не является постоянной.Это зависит от поступающей информации.Поэтому я не могу использовать структуру для ее хранения.
в моем блоке не должно быть никаких неиспользуемых битов, я искал некоторые темы, в которых упоминалось, что если я сохраню 30 бит в int (Переменная 4 байта), затем следующие 3 бита, которые я сохраняю, автоматически перейдут к следующему int.но я не хочу, чтобы это произошло !!
Я знаю, что могу использовать сдвиг вправо, сдвиг влево, чтобы поместить число в символ, и поместить символ в блок, но этонеэффективно.
Мне нужен массив символов, в который я могу продолжать помещать указанные биты, и использовать write, чтобы поместить его в файл.