Я уверен, что получаю цифры от 0 до 7, и мне интересно сделать код максимально эффективным. Я хочу ввести только три наименее значимых бита в двоичный файл, а не весь байт. В любом случае я могу написать только 3 бита? Я получаю огромное количество чисел ... Другим способом, который я нашел, является попытка смять номера (00000001 shl 3 & следующий номер) Хотя всегда есть странный.Эффективное сохранение файлов в C, запись определенных битов в двоичный файл
-1
A
ответ
3
Файлы работают на уровне байтов, нет возможности выводить отдельные биты . Вы должны прочитать исходные байты, содержащие интересующие вас биты, исправить их битами, которые вы должны изменить (используя побитовые операции) и записать их туда, где они были.
1. И это не было бы эффективно делать это в любом случае. Жесткие диски лучше всего работают с большими кусками; флэш-диски на самом деле требуют для работы с большими блоками (=> для однократного изменения бит требуется полная стирание и перезапись блока); они являются некоторыми причинами, по которым операционные системы и контроллеры дисков делают много кэширования записи.
Смежные вопросы
- 1. Запись битов в двоичный файл
- 2. Запись 4 битов в двоичный файл с потоком
- 3. Сохранение int в двоичный файл в c
- 4. Запись в двоичный файл в C++
- 5. Запись в двоичный файл?
- 6. Запись в двоичный файл
- 7. Сохранение нескольких структур в двоичный файл (C)
- 8. Как вывести двоичный файл в C без битов заполнения
- 9. Запись битов в биты в файл
- 10. Запись целого числа в двоичный файл (C++)
- 11. Запись 0's в двоичный файл C++
- 12. Запись в двоичный файл с C#
- 13. записи битов в C++ файл
- 14. сохранение данных в двоичный файл
- 15. Запись int в двоичный файл
- 16. Чтение/запись в двоичный файл
- 17. Запись массива в двоичный файл?
- 18. C: Сохранение определенных файлов с уникальными расширениями
- 19. Huffman Encoding, Сохранение кодов и запись двоичных файлов в C
- 20. Запись в двоичный файл в C++ и C#
- 21. Запись битов в порт в C
- 22. эффективное преобразование hex в двоичный
- 23. Чтение битов файлов и их сохранение
- 24. Установка определенных битов в числе
- 25. Запись массива Struct в двоичный файл
- 26. Эффективное сохранение битовых индексов
- 27. Запись байт-массива в двоичный файл Javascript
- 28. Запись результатов в двоичный файл в MATLAB
- 29. Запись в файл двоичный код в Xcode
- 30. Запись в двоичный файл в PROLOG
Я не пытаюсь быть точным на 3-м бите, но, например, массив из 3-х целых, которые могут быть записаны на 24 бита только на 16 бит (3x3 + дополнение), идея состоит в том, чтобы сохранить память –
@ Dreggman45 : вы можете использовать 10 3-битных групп в одном 32-битном int - экономить место, но все обращения (чтение и запись) к данным теперь требуют сдвигов и масок. Удостоверьтесь, что вам действительно нужна такая экономия места и что связанные с этим расходы в порядке. (Также использование 4-битных групп сделает ваш код довольно простым). – Mat