Я не привык к бинарным файлам, и я пытаюсь освоить его.Мне удалось сохранить некоторые целые и неподписанные символы и читать их без особой боли.Теперь, когда я пытаюсь сохранить некоторые логические значения, я вижу, что каждый из моих bool занимает ровно 1 октет в моем файле, что кажется логичным, так как одиночный bool хранится в данных размера char (поправьте меня, если я ошибаюсь)!).
Но так как для сериализации у меня будет 3 или 4 bools, я считаю, что хранить их напрасно - это 00000001 00000001 00000000, например, когда у меня может быть 00000110. Я предполагаю получитьэто я должен использовать побитовую операцию, но я не очень хорош с ними ... так может кто-нибудь сказать мне:
- Как сохранить до 8 bools в одном октете, используя побитовые манипуляции?
- Как дать правильные значения (до 8 bools) из одного октета с помощью побитовой манипуляции?
- (И, дополнительный вопрос, может ли кто-нибудь порекомендовать простой, нематематически ориентированныйум, как мой, учебник по манипуляции с битами, если он существует? Все, что я понял, я понял, но не смог применить на практике ...)
Я использую C ++, но, думаю, большинство языков C-syntaxic будут использоватьтакой же вид операции.