Алгоритм сжатия "Unbuffered RLE"
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: образ реферат, доклад 2011
| Добавил(а) на сайт: Savinian.
Предыдущая страница реферата | 1 2 3 4 5 6 | Следующая страница реферата
И ниже то же самое, но уже для программистов в языках высокого уровня. Ну, на всякий случай, вдруг нет желания разбираться в ассемблерном коде.
Счетчик = 0
Предыдущий_байт = Взять_байт_из_входного_потока
Выходной_поток = Предыдущий_байт
Бесконечный цикл
Текущий_байт = Взять_байт_из_входного_потока
Если Текущий_байт = Предыдущий_байт тогда
Если Счетчик = 0 тогда Выходной_поток = Текущий_байт
Счетчик = Счетчик + 1
Если Счетчик = 255 тогда
Выходной_поток = Счетчик – 1
Счетчик = 0
Конец если
Иначе
Если Счетчик > 0 тогда Выходной_поток = Счетчик – 1
Выходной_поток = Текущий_байт
Предыдущий_байт = Текущий_байт
Счетчик = 0
Конец если
Конец цикла
Как работает декодер
Здесь алгоритм еще проще. При декодировании бывший выходной поток является уже входным потоком, а получающийся выходной поток – это декодированная информация. Так вот, извлекая из входного потока байт, сразу же выбрасываем его в выходной поток. Далее сравниваем текущий байт с предыдущим байтом. Как только они одинаковы, извлекаем из входного потока байт, который является счетчиком повторов. Именно столько раз в выходной поток копируем текущий байт (что был перед счетчиком).
Предыдущий_байт = Взять_байт_из_входного_потока
Выходной_поток = Предыдущий_байт
Бесконечный цикл
Текущий_байт = Взять_байт_из_входного_потока
Рекомендуем скачать другие рефераты по теме: антикризисное управление предприятием, банк курсовых работ бесплатно.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 | Следующая страница реферата