Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2014, 00:01   #1
zaitsevmishka
 
Регистрация: 15.05.2014
Сообщений: 3
По умолчанию C++, задача на бинарный файл (Бинарный файл состоит из записей по 5 бит)

Добрый Вечер!
помогите, пожалуйста, с задачей:

Исходные данные записаны в файл в виде непрерывной последовательности 0 и 1, написать программу-конвертор, которая исходный текстовый файл преобразует в бинарный файл в следующем формате. Бинарный файл состоит из записей по 5 бит, расположенных впритык друг к другу. Каждая запись кодирует набор одинаковых подряд идущих символов исходного файла. Последний бит записи указывает, какой символ кодируется - 0 или 1, а в первых 4 битах лежит повторитель, указывающий, сколько раз данный символ повторяется. Если повторитель равен 0, достигнут конец файла
написать раскодировщик

проблема в том, что я не представляю, как кодировать файл с технической стороны вопроса

преподаватель сказал, что можно писать в строку побитово, но как это реализовать - не знаю

подскажите, пожалуйста, кусок кода для записи/считывания побитово в файл

заранее спасибо за помощь!
zaitsevmishka вне форума Ответить с цитированием
Старый 16.05.2014, 00:41   #2
zaitsevmishka
 
Регистрация: 15.05.2014
Сообщений: 3
По умолчанию

использование bool не дает уменьшения объема вовсе так и должно быть?

Последний раз редактировалось zaitsevmishka; 16.05.2014 в 01:05. Причина: ошибка
zaitsevmishka вне форума Ответить с цитированием
Старый 16.05.2014, 08:33   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

нет. писать и читать можно только ПОБАЙТНО.
но вот что именно в этом байте - это уже можно Вам решать.
Например, Вы можете получать/изменять любой БИТ в этом байте.
Тем самым байт - это 8 независимых бит.
Вот от этого и пляшите.


p.s. C/C++ не знаю, поэтому конкретно кодом не помогу...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.05.2014, 21:39   #4
zaitsevmishka
 
Регистрация: 15.05.2014
Сообщений: 3
По умолчанию

Мне бы хотелось просто понять, как записывать и считывать 1 байт и менять в нем биты
И более того, нужно, чтобы хотя бы в каждом байте первые 5 бит были кодовыми, а последние 3 - какие угодно <- это сильно упростит задачу в смысле техники, и из этого я уже доведу ее до конца

Спасибо за помощь!
zaitsevmishka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бинарный файл Хитман Помощь студентам 1 27.03.2011 19:04
Бинарный файл nXs Общие вопросы Delphi 4 26.03.2011 11:40
Задача на бинарный файл Many man Помощь студентам 3 10.05.2009 19:41
Бинарный файл mchip Microsoft Office Excel 10 05.03.2009 19:10
Бинарный файл Bayazet Общие вопросы Delphi 1 04.03.2009 16:39