Чтобы уменьшить размер данных по сети, я хотел бы записать в сеть только те биты, которые могут содержать значение.Например, если значение может содержать 40 бит, я хочу записать в поток 40 бит, а не 64 бита.Или, если значение может быть сохранено в 3 битах, я просто хотел бы записать 3 бита в двоичный поток, а не 8 бит, с 5 битами как 0.
Мой вопрос заключается в том, как мне записать невыровненные данныев бинарный поток в C ++?