Главная » Просмотр файлов » Искусство программирования на Си

Искусство программирования на Си (984073), страница 55

Файл №984073 Искусство программирования на Си (Искусство программирования на Си) 55 страницаИскусство программирования на Си (984073) страница 552015-07-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 55)

сжатия. Вместо этого в стандарте Т.4 определен двуху- О! 01011 00000011000 секунд или приблизительно 2,! 5 минуты. Для повышен- Первые две сканированные строки, образующие вср- ровневый подход к кодированию последовательностей ного разрешения все указанные значения пришлось бы хнес поле над текстом, содержат 1728 белых пикселов пикселов. 27 0100100 00001! 001011 удвоить.

и могут быль представлены как !728»У. Первые 7 сим- Этот полход несколько напоминас! концепцию, 28 0011000 000011001! ОО Действительное время передачи по факсу типичной волов без знака впя!Впед сваг третьей сканированной используемую в представлении десятичных чисел, когмашинописной страницы при скорости передачи, рав- строки, приведенной в табл. !8.2, в которой сканер ви- да цифры от 0 до 9 используются для представления 29 00000010 00001100110! ной 9600 бит/с, составляет около 30 секунд, т.е. при дит верхнис части буквы "Н" и двух букв "!", л!ожно сотен или тысяч с основанием 1О. Анагю!ично при ше- 00000011 000001 Г01000 давши ивельиые тсиатииеекие ра ~Вели Оврава~ака е Часть 1й Если последовательность пикселов оказывается Вначале рассмотрим последовательность битов это- строкачи текста, поэточу они значительно влияют на слона Т.4 описываются потоком битов, следующих слева длиннее 63, как, например, пустая белая строка, состо- го слова.

Она начинается с 11 ведущих нулей, которые общий коэффициент сжатия при передаче типичного направо, причем первый, сальный крайнии слева бит кажяшая из 1728 пикселов, используется вгороп набор ко- никогда не появлякпся ниглс, кроме конца сканирован- факсл. лого кодового слона илет сразу за последним, за последним, сал1ым ловых слов.

Онн называются "составнычи коловылеп ной строки. Если вы внимательно просмотрите другие Теперь трегья строка изображения, показанного на крайним справа битом предыдущего кодового слова. слонами", и каждое составное кодовое слово нспользу- кодовые слова в табл. 18.4, то увидите, по ни одно из рис. 18.1, с помощью двухуровневого описания чс1жет Эти биты лолжны передаваться от отправителя получается для последовательности черных нлн белых пиксе- них не начинается более чем с шести последовательных бысть выражена следующим образолс — с ева нап аво.

Однако лов, кратной 64, причем для каждого цвета иснользу- иудеи и нс закан ~ивается более чем тремя нулями. Тается другой набор кодов. Когда составное кодовое слово кич образоч, максимально возможное количество нулей 1664УУМ, 11ИТ,ЕОЕ ойства послеловательного по та, встречается в коде, передаааемол~ по факсу, сразу за ним в любых лвз х последовательных кодовых словах не и когда 8-битовый олгет записывается в передатчик тавсегда следует оконечное коловое слово для этого же может быть больше левяти. а закодированный поток битов приобретает внд: кого устройства, он передается в виле последоватсльноцвета.

Сосзавные колы приведены в табл. 18.4. Второе специальное своиство кода ЕОŠ— возчож- 000111 011 1011 1О 0001100 00011 10011 0010 011000 го потока, начиная с лщадшего !самого крайнего спра- ность его расширения дополнительными нулевыми би- 000000000001 ва1 н заканчивая старшим (самым крайним слева) битом Таблица 18.4. Составные кодовые слова кода П Е Чтобы проилэюс риро ать О давагтте всрп я ь тами. Перед конечным бигом 1 кодового слова ЕОЕ После добавления дв х дополняющих нулевых бифакса Т.4 для последовательностей пикселов осзс л 1 у кодированию пустой белой строки, колонов слово ЕО!.

д б4 д 1728, может присутствовать любое количество дополнитсль- тов к кодовому слову ЕО!., с тем побы строка завердлиной от до 1728, ных битов 0 Внутри или межлу любыми другими ко- ТОВ Л КОДОВОЧУ СЗОВ, С ' ' и О Г ни ь! Октета шшюсь на грашше октета, поток приобретает слелую- которой дополнено двумя битами 0 до границ ! ок 77оееедовительвопиь Белое еует о лоаычи словами никаких лополнений не допускается. щий вид: 010011011 00110101 000000000000001 кодовое слово холовое ~лова Теперь можно ве н ться к трем вс хним скани о- Р Р У ' ' Р Р Р 000111 011 1011 !О 0001100 00011 10011 0010 011000 Сказанное люжно проиллюстрировазь, разделив 64 11011 0000001111 ванным строкам рис.

!8.1 и послютреть, как выполня- 00000000000001 строку на 8-битовые окзез'ы: стоя леиствительное кодирование Давайте изменим 128 10010 000011001000 „,„.... „. „,, 01лйдейго1, ~ о811402пбш!ПцопырецртлициООеПОдта е., „„... „..., „, „„, „ Обрисовка цифровил сигналов ,г(огголниве гмине иимоошнеские разде го Ий Часть (И Глава ТЕ ТР (со1ог == ИЬЬСХ РХХЕЬ) Листинг 18.1 Функция Епсо4(ера9е() вгаггс йпТ 11 (гнп сонпг > 63) Епсолераде(Р1ЬЕ *Ргп, Р1ЬЕ *(онг, ( нпвТВпес) сЬаг *Ьн11, Т4 ргг = Онгрнгсобеногб( сЬаг вонгрнг паве) Ь(асй вайнер + (гнп сонпг / 64) — 1, ( Т4 ргг); гпТ вгге; ) Тпг всап 1гпев; Т4 ргг = Онгрнгсог)еяогй( ване Т нгТТТепг ЬРаск Тегвйпаге + (гнп сонпг 4 64), 64 ргг)1 lв 3апвснвает в файл облэательвое вачальное кодовое слово ЕОЬ */ со1ог = ИВ1РЕ РХХЕЬ.

гй (в1геос ЕОЬ !и 1нггге(ЕОЬ, 1, айкео( ЕОЬ, (онв)) ) ( е1ве рг1пТР(нг егг, онгрнг паве); ( гегнгп ЕОР; г( (гнп сонпг > 63) ) Т4 ргг = Онгрнгсол)еиогс)( Рог (всап 1гпев = 0> всап )Ьпев< ИАХ1ИОИ ИОИБ; ) ИЬгее вайенр + (гнп сонпг / 64) — 1, ( Т4 рт.г); айве = ЕпсодеЬ1пе(Ьн11, (гп); Т4 ргг = Онпрнгсойеяого( Обработка инйроеык анена чае Доаатитеиинт теиатичеекиеран)еаы — — — 4 Часть П! Глава 18 Ьзьв нвед = 01 возвращается функции Епсое)е(л)пе0. Если Епсое)е(лпе0 Листинг 18.4. Функция ОО1рц1СО((е%огс)(). ) снова вызывает функцию Сопл(Р)хе)Впп0, она просто нтатлс апв)Олен сЬаг е1не возвращает ЕОЕ *Оссрнтсопевогд(сопят Т4 ВНСООЕ *соса, опв(явен сЬаг *т4 ргг) ( Локальная переменная шрп( определена как перементлс 1епОСЬ; ) ная типа (пт со знаком лля приема значения, возврашаевсатзс (пт Тгее Ьевв = 8; ) мого функцией Гбетс0.

Если бы иснользоналась перемен- зтатьс опвьнпеб 1опк согкепт онтрнт = 0; 18 (ыалсес == (гаы рзхе1в к рьхеь тент) ) ная гати р)хе(Б типа нпн!Влей )п(, программа мсчгла бы ( правильно распознавать ЕОР нс во всех версиях языка С. /е Вслв аргументом указателя является НОЬЬ, выполаяется вывод кодового слова ВОЬ */ ++гоп соапсз Фактически используемый алгоритм подсчета послс- 11 (НОЬЬ = соде) донатсльнсстсй проверяет старший испольюванный бит н спггепь сократ К ОСтнт ИАБК; гаы р1ке1в «т 1; гаи р(хе)Б, выполняя побитовую операцию А)Ч() (логичсс) кос И) с псрсчислимой константой Р(ХЕЬ МАЯК, илее- *С4 рсг+е = (ппв(дпед сЬаг)(соггепт оосрог К ОСТВТ НАБЕ); е1ве юшсй значение Ох80, и сравнивая результат с трсбусмыле зб (Ггее Ььса < 4) ( аргументом Р!ХЕЬ ВП'Я, который имеет значснис Ох80 ( *14 рсг++ = 0; для белых ~икселов или 0 — для черных.

До тел пор пока результат такого сравнения дает истину (ТЕ()Е), *т4 ртг++ = Ок80; последовательность продолжается и гаи р)хе(н сдвига- 1гее ЬЬГв = Р1КВЬБ РВВ ОСТЕТ; ется влево на один бит для помешения слсдуюшего би га саггепс оасрпт = 04 ) в проверяемую позицию. ) ганне ризда1и Одробон~но цифровом гигнимн Глава тв х х х х х А о т т т т т т т т о а о о о о ° о о о о а о а о а о о О о о а О о а а *Оа Рек++ = (нноьдпец сьах1(снкхепе оперно а ОЕТЕТ ИАВК] г В данном случае значение 1епй(Ь равно 2, поэтому тело этого выражения выполняется. ( СОГГЕОЕ онхрев »= 1епдЕЬ( тгео Ыьа =-1опдЕЬ; 1 т т т т т т т т т т т т т о о о а о а а о т т т т т т т т т т т т т х х х х х о РИСУНОК %3. Вганивко кодового глони нереценной длинн о а о о т т т т т т т т т т т т т х х х х х р о О о т т т т т т т т Н а о о о а о о а о о о а т т ( о о ° о о а о о о о о о о о Р 1 Р Р у стоя (ч(/ЕЕ.

Протокол Т.4 не требует, чтобы сканиродолжен быть вставлен, независимо от е(о фактического сразу по завершении преобразования типа промежуточ- го чш(а — всегда Рациональное деистаие, котоРое пРс- ванные строки закан ~надпись и новые сканированные значения. Символ 0 на рисунке указывает бпт, который нос значение полностью соответствует показанному в возвращает появление предупреждений компилятора и строки начиншшсь точно но границе октета. Но такое изначачьно яцчяется 0 и не является частью вывода. И строке В. компоновщика. совпадение — очень распространенная практ(1ка, понаконсц, дефис(-1означаетбит, не имеюшии значения, Применение круглых скобок приводит к тонул что Как только восемь битов перемещен О а О т т т т т т т т т т о О а а о о о о о а а т т т выполняется эта залача и выходной указатель увеличивается для указания на следующую ячсику выходного буфера, которую нужно зацолнцть.

Побитовое логическое И с переменной ОСТЕТ МАЯК, определеннои как Олй обеспечивает использование только младших восьми битов ппв(епе(1 сЬаг В реализациях с В-битовыми снтшольными переменными это делать не обязательно, ш а результате наша программа становится совмесгимои с платформами, на которых используются более нл1рокис символы. Преобразование типа вива(дпед сЬаг 1~с ~ рсбуется, поскольку ОСТЕТ МАЯК уже гарантирует гоогветстаие переменной диапазону нпа1дпеа( сйаг, но явное п еобтазоаание ти(ш п и п исаоенин более зко- В строке 1 на рисунке переменная снггеп( ощрв( сдвигается вчеао на даа бита, и это значение 2 вычитается из Ггее Ьйа, давая значение, равное б и указывающее, что а младшем октете остается б не имеющих зна чения богов, которые должны быть замешены биталш из следующего ло:ювого слова.

Интерес предстаачяет также обработка этой функциен кодового слова ЕОЕ, когда параметром кода явля- Обработиа цифровых еиеаоеав ффффф Глава Зв ЬМЙ в(агзс ( ( ( ( ) ° (4 Ыасх 02/в(гео( взгвог 0 г4 Ыасх 03/в(гео( г4 Ыасх 03 нвьь ( ( ( ) ° в(гео( в(гео( г4 Ыасв 04 Е4 ыЬзге 04 Лон аааитех ьа ые та чати вес вие ра хдмы Часть й! Программа распаковки Т.4 бесове.с В ходе рассмотрения таблиц подстановки програм- соааг СООВ ТЬВЬЕ соде ЕаЫе[12][2) мы кодирования было объяснено, как кодовые слова На Ьуеь-сайт "Диасофт" г!Омещен полнь|й исходный миной до 13 битов мо,у, б.з потерь храниться в восьЬ4 Ь1аех 02, в(4 Ыаех 02 код стандаРтной прогРаымы С, которав считывает задо- ми битах: поскольку все ст — шие биты являются б, они Мдьь ) лированные в соответствии с протоколом Т.4 данные из „н чн л в 3 файла и записывает их деколированный двоичный об- С др, ой роны член гвп [епй(Ь д „жен содер Раз в другой файл.

Если начать с созданного надлсжа- жазь любое возможное значение от б до [тз[( включи- ( шим обРазом файла двоичного обРаза, закодировать его тельно в восьми битах, которые могут непосредственно ( а(гео( а44 Ыаех 03 ), программой кодиРованиЯ и леколиропать РезУльтат с предо. авлять значения лишь до 1уч. ото достигается за ( 0 ) помощью пРогРаммы декодирования, то ее вывод будет счет того, что для каждого цвета существует только 91 идентичен исходному Лвоичному фа[еду.

Характеристики

Тип файла
DJVU-файл
Размер
12,26 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6376
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее