понятие о специальном кодировании чисел
Понятие о специальном кодировании чисел
Правило представления Q-ичного кода числа в прямом коде имеет вид:
где хi— значение цифры в i-м разряде исходного кода.
Здесь старший бит несет информацию о знаке числа. Если он принимает значение 0, то знак числа «+» ; если значение 1 — то знак числа «-».
Например, для двоичного кода
При представлении чисел в прямом коде реализация арифметических операций в ЭВМ должна предусматривать различные действия с модулями чисел в зависимости от их знаков. Так, сложение в прямом коде чисел с одинаковыми знаками выполняется достаточно просто. Числа складываются и сумме присваивается код знака слагаемых. Значительно более сложной является операция алгебраического сложения в прямом коде чисел с различными знаками. В этом случае приходится определять большее по модулю число, производить вычитание чисел и присваивать разности знак большего по модулю числа. Для упрощения выполнения операций алгебраического сложения в ЭВМ используются специальные коды, позволяющие свести эту операцию к операции арифметического сложения. В качестве специальных в ЭВМ применяются обратный и дополнительный коды. Они образуются из прямых кодов чисел, причем специальный код положительного числа равен его прямому коду.
Для обозначения обратного кода числа Х(q) используется запись вида [Х(q)]обр.
Правило представления q-ичного кода числа в обратном коде имеет вид:
где: q — основание системы счисления;
xj значение цифры в i-ом разряде исходного кода.
Для двоичной системы счисления, если х = 1, то 
Для преобразования прямого кода двоичного отрицательного числа в обратный код и наоборот необходимо знаковый разряд оставить без изменения, а в остальных разрядах нули заменить на единицы, а единицы на нули.
Таким образом, для преобразования прямого кода q-ичного отрицательного числа в дополнительный необходимо образовать его в обратный код и в младший разряд добавить единицу.
Например, для двоичных чисел:
При выполнении операции алгебраического сложения перед преобразованием прямых кодов слагаемых в специальные необходимо их выровнять по числу разрядов, если число разрядов слагаемых различно. Кроме того, в некоторых случаях может произойти переполнение разрядов сетки. Признаком переполнения разрядной сетки является следующая комбинация цифр в знаковых разрядах слагаемых и результата:
Результат сложения специальных кодов чисел при переполнении разрядной сетки является неверным.
Понятие о специальном кодировании чисел
Правило представления Q-ичного кода числа в прямом коде имеет вид:
где хi— значение цифры в i-м разряде исходного кода.
Здесь старший бит несет информацию о знаке числа. Если он принимает значение 0, то знак числа «+» ; если значение 1 — то знак числа «-».
Например, для двоичного кода
При представлении чисел в прямом коде реализация арифметических операций в ЭВМ должна предусматривать различные действия с модулями чисел в зависимости от их знаков. Так, сложение в прямом коде чисел с одинаковыми знаками выполняется достаточно просто. Числа складываются и сумме присваивается код знака слагаемых. Значительно более сложной является операция алгебраического сложения в прямом коде чисел с различными знаками. В этом случае приходится определять большее по модулю число, производить вычитание чисел и присваивать разности знак большего по модулю числа. Для упрощения выполнения операций алгебраического сложения в ЭВМ используются специальные коды, позволяющие свести эту операцию к операции арифметического сложения. В качестве специальных в ЭВМ применяются обратный и дополнительный коды. Они образуются из прямых кодов чисел, причем специальный код положительного числа равен его прямому коду.
Для обозначения обратного кода числа Х(q) используется запись вида [Х(q)]обр.
Правило представления q-ичного кода числа в обратном коде имеет вид:
где: q — основание системы счисления;
xj значение цифры в i-ом разряде исходного кода.
Для двоичной системы счисления, если х = 1, то 
Для преобразования прямого кода двоичного отрицательного числа в обратный код и наоборот необходимо знаковый разряд оставить без изменения, а в остальных разрядах нули заменить на единицы, а единицы на нули.
Таким образом, для преобразования прямого кода q-ичного отрицательного числа в дополнительный необходимо образовать его в обратный код и в младший разряд добавить единицу.
Например, для двоичных чисел:
При выполнении операции алгебраического сложения перед преобразованием прямых кодов слагаемых в специальные необходимо их выровнять по числу разрядов, если число разрядов слагаемых различно. Кроме того, в некоторых случаях может произойти переполнение разрядов сетки. Признаком переполнения разрядной сетки является следующая комбинация цифр в знаковых разрядах слагаемых и результата:
Результат сложения специальных кодов чисел при переполнении разрядной сетки является неверным.
Дата добавления: 2015-02-16 ; просмотров: 8 | Нарушение авторских прав
Понятие о специальном кодировании
Цели кодирования
Кодирование информации
Кодирование – это переход от исходного представления информации удобного для восприятия человеком к представлению удобному для хранения, передачи и обработки информации с использованием вычислительной техники. Обратный процесс называется декодированием. При кодировании информации ставятся следующие цели:
1) удобство физической реализации;
2) удобство восприятия;
3) высокая скорость передачи и обработки;
4) уменьшение избыточности сообщений;
5) надежность, т. е. защита от случайных искажений;
6) сохранность, т. е. защита от несанкционированного доступа.
Эти цели могут противоречить друг другу: экономные сообщения неудобны для восприятия, их надежность уменьшается. Избыточные сообщения более надежны, но уменьшается скорость передачи информации и т.д.
Для хранения чисел и выполнения операций над ними используют прямой, обратный и дополнительный коды.
где 
При таком представлении чисел реализация арифметических операций в ЭВМ должна предусматривать различные действия с модулями чисел в зависимости от знаков. Сложение чисел с одинаковыми знаками выполняется как обычно: числа складываются и сумме присваивается код знака слагаемых. При сложении чисел с разными знаками определяется большее по модулю число, из большего вычитается меньшее и результату присваивается знак большего по модулю числа.
Для упрощения таких операций в ЭВМ используются специальные коды, которые позволяют свести эту операцию к операции арифметического сложения: обратный и дополнительный.

где 


Частное правило образования обратного кода для отрицательных двоичных чисел. Для преобразования прямого кода двоичного отрицательного числа в обратный код и наоборот необходимо знаковый разряд оставить без изменения, а в остальных разрядах 0 заменить на 1, а 1 на 0.
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
3. Дополнительный код
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
![]() |
При выполнении операции сложения с помощью специальных кодов знаковые разряды участвуют в сложении также как цифровые разряды. Знаковые разряды и цифры переноса из старшего цифрового разряда складываются как одноразрядные двоичные коды. Если при этом формируется перенос из знакового разряда, то он добавляется в младший разряд результата при использовании обратного кода и отбрасывается при использовании дополнительного кода.
=0.1101 1001 | = 0.1101 1001 |
| + | + |
=1.1010 0010 | = 1.1010 0011 |
| = | = |
10.0111 1011 | 10.0111 1100 |
+1 | отбрасывается |
=0.0111 1100 | =0.0111 1100 |
При выполнении алгебраического сложения, перед преобразованием прямых кодов слагаемых в специальные, их надо выровнять по количеству разрядов.
2) 
3) 
4) 
Вычислить, используя дополнительные коды 710-310
Вычислить, используя дополнительные коды 810-1310
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
ЦП Автоматизированные системы управления и промышленная безопасность
БК Автоматизированные системы управления и кибернетика
3. Кодирование данных в ЭВМ
В ЭВМ применяется двоичная система счисления, т.е. все числа в компьютере представляются с помощью нулей и единиц, поэтому компьютер может обрабатывать только информацию, представленную в цифровой форме.
Для преобразования числовой, текстовой, графической, звуковой информации в цифровую необходимо применить кодирование.
Кодирование – это преобразование данных одного типа через данные другого типа. В ЭВМ применяется система двоичного кодирования, основанная на представлении данных последовательностью двух знаков: 1 и 0, которые называются двоичными цифрами (binary digit – сокращенно bit).
Целые числа кодируются двоичным кодом довольно просто (путем деления числа на два). Для кодирования нечисловой информации используется следующий алгоритм: все возможные значения кодируемой информации нумеруются и эти номера кодируются с помощью двоичного кода.
Кодирование чисел
Есть два основных формата представления чисел в памяти компьютера. Один из них используется для кодирования целых чисел, второй (так называемое представление числа в формате с плавающей точкой) используется для задания некоторого подмножества действительных чисел.
Кодирование целых чисел производиться через их представление в двоичной системе счисления: именно в этом виде они и помещаются в ячейке. Один бит отводиться при этом для представления знака числа (нулем кодируется знак «плюс», единицей – «минус»).
Кодирование координат
Закодировать можно не только числа, но и другую информацию, например, о том, где находится некоторый объект. Величины, определяющие положение объекта в пространстве, называются координатами. В любой системе координат есть начало отсчёта, единица измерения, масштаб, направление отсчёта, или оси координат. Примеры систем координат – декартовы координаты, полярная система координат, шахматы, географические координаты.
Кодирование текста
Для представления текстовой информации используется таблица нумерации символов или таблица кодировки символов, в которой каждому символу соответствует целое число (порядковый номер). Восемь двоичных разрядов могут закодировать 256 различных символов.
Существующий стандарт ASCII (сокращение от American Standard Code for Information Intercange – американский стандартный код для обмена информацией; 8 – разрядная система кодирования) содержит две таблицы кодирования – базовую и расширенную. Первая таблица содержит 128 основных символов, в ней размещены коды символов английского алфавита, а во второй таблице кодирования содержатся 128 расширенных символов.
Так как в этот стандарт не входят символы национальных алфавитов других стран, то в каждой стране 128 кодов расширенных символов заменяются символами национального алфавита. В настоящее время существует множество таблиц кодировки символов, в которых 128 кодов расширенных символов заменены символами национального алфавита.
Так, например, кодировка символов русского языка Widows – 1251 используется для компьютеров, работающих под ОС Windows. Другая кодировка для русского языка – это КОИ – 8, которая также широко используется в компьютерных сетях и российском секторе Интернет.
В настоящее время существует универсальная система UNICODE, основанная на 16 – разрядном кодировании символов. Эта 16 – разрядная система обеспечивает универсальные коды для 65536 различных символов, т.е. в этой таблице могут разместиться символы языков большинства стран мира.
Кодирование графической информации
В видеопамяти находится двоичная информация об изображении, выводимом на экран. Почти все создаваемые, обрабатываемые или просматриваемые с помощью компьютера изображения можно разделить на две большие группы – растровую и векторнуюграфику.
Растровые изображения представляют собой однослойную сетку точек, называемых пикселями (pixel, от англ. picture element). Код пикселя содержит информации о его цвете.
Цветные изображения воспринимаются нами как сумма трёх основных цветов – красного, зелёного и синего. Например, сиреневый = красный + синий; жёлтый = красный + зелёный; оранжевый = красный + зелёный, но в другой пропорции. Поэтому достаточно закодировать цвет тремя числами – яркостью его красной, зелёной и синей составляющих. Этот способ кодирования называется RGB (Red – Green – Blue). Его используют в устройствах, способных излучать свет (мониторы). При рисовании на бумаге действуют другие правила, так как краски сами по себе не испускают свет, а только поглощают некоторые цвета спектра. Если смешать красную и зелёную краски, то получится коричневый, а не жёлтый цвет. Поэтому при печати цветных изображений используют метод CMY (Cyan – Magenta – Yellow) – голубой, сиреневый, жёлтый цвета. При таком кодировании красный = сиреневый + жёлтый; зелёный = голубой + жёлтый.
В противоположность растровой графике векторное изображение многослойно. Каждый элемент такого изображения – линия, прямоугольник, окружность или фрагмент текста – располагается в своем собственном слое, пиксели которого устанавливаются независимо от других слоев. Каждый элемент векторного изображения является объектом, который описывается с помощью специального языка (математических уравнения линий, дуг, окружностей и т.д.) Сложные объекты (ломаные линии, различные геометрические фигуры) представляются в виде совокупности элементарных графических объектов.
Объекты векторного изображения, в отличие от растровой графики, могут изменять свои размеры без потери качества (при увеличении растрового изображения увеличивается зернистость).
Как всякий звук, музыка является не чем иным, как звуковыми колебаниями, зарегистрировав которые достаточно точно, можно этот звук безошибочно воспроизвести. Нужно только непрерывный сигнал, которым является звук, преобразовать в последовательность нулей и единиц. С помощью микрофона звук можно превратить в электрические колебания и измерить их амплитуду через равные промежутки времени (несколько десятков тысяч раз в секунду). Каждое измерение записывается в двоичном коде. Этот процесс называется дискретизацией. Устройство для выполнения дискретизации называется аналогово-цифровым преобразователем (АЦП). Воспроизведение такого звука ведётся при помощи цифро-аналогового преобразователя (ЦАП). Полученный ступенчатый сигнал сглаживается и преобразуется в звук при помощи усилителя и динамика. На качество воспроизведения влияют частота дискретизации и разрешение (размер ячейки, отведённой под запись значения амплитуды). Например, при записи музыки на компакт-диски используются 16-разрядные значения и частота дискретизации 44 032 Гц.
Описанный способ кодирования звуковой информации достаточно универсален, он позволяет представить любой звук и преобразовывать его самыми разными способами. Но бывают случаи, когда выгодней действовать по-иному.
Издавна используется достаточно компактный способ представления музыки – нотная запись. В ней с помощью специальных символов указывается высота и длительность, общий темп исполнения и как сыграть. Фактически, такую запись можно считать алгоритмом для музыканта, записанным на особом формальном языке. В 1983 г. ведущие производители компьютеров и музыкальных синтезаторов разработали стандарт, определивший такую систему кодов. Он получил название MIDI (Musical Instrument Digital Interface). При таком кодировании запись компактна, легко меняется инструмент исполнителя, тональность звучания, одна и та же запись воспроизводится как на синтезаторе, так и на компьютере.
Конечно, такая система кодирования позволяет записать далеко не всякий звук, она годится только для инструментальной музыки. Но есть у нее и преимущества: чрезвычайно компактная запись, естественность для музыканта (практически любой MIDI-редактор позволяет работать с музыкой в виде обычных нот), легкость замены инструментов, изменения темпа и тональности мелодии.
Есть и другие форматы записи музыки. Среди них – формат MP3, позволяющий с очень большим качеством и степенью сжатия кодировать музыку, при этом вместо 18 – 20 музыкальных композиций на стандартном компакт-диске (CDROM) помещается около 200. Одна песня занимает примерно 3,5 Mb, что позволяет пользователям сети Интернет легко обмениваться музыкальными композициями.
Кодирование для чайников, ч.1
Не являясь специалистом в обозначенной области я, тем не менее, прочитал много специализированной литературы для знакомства с предметом и прорываясь через тернии к звёздам набил, на начальных этапах, немало шишек. При всём изобилии информации мне не удалось найти простые статьи о кодировании как таковом, вне рамок специальной литературы (так сказать без формул и с картинками).
Статья, в первой части, является ликбезом по кодированию как таковому с примерами манипуляций с битовыми кодами, а во второй я бы хотел затронуть простейшие способы кодирования изображений.
0. Начало
Давайте рассмотрим некоторые более подробно.
1.1 Речь, мимика, жесты
1.2 Чередующиеся сигналы
В примитивном виде кодирование чередующимися сигналами используется человечеством очень давно. В предыдущем разделе мы сказали про дым и огонь. Если между наблюдателем и источником огня ставить и убирать препятствие, то наблюдателю будет казаться, что он видит чередующиеся сигналы «включено/выключено». Меняя частоту таких включений мы можем выработать последовательность кодов, которая будет однозначно трактоваться принимающей стороной.
1.3 Контекст
2. Кодирование текста
Текст в компьютере является частью 256 символов, для каждого отводится один байт и в качестве кода могут быть использованы значения от 0 до 255. Так как данные в ПК представлены в двоичной системе счисления, то один байт (в значении ноль) равен записи 00000000, а 255 как 11111111. Чтение такого представления числа происходит справа налево, то есть один будет записано как 00000001.
Итак, символов английского алфавита 26 для верхнего и 26 для нижнего регистра, 10 цифр. Так же есть знаки препинания и другие символы, но для экспериментов мы будем использовать только прописные буквы (верхний регистр) и пробел.
Тестовая фраза «ЕХАЛ ГРЕКА ЧЕРЕЗ РЕКУ ВИДИТ ГРЕКА В РЕЧКЕ РАК СУНУЛ ГРЕКА РУКУ В РЕКУ РАК ЗА РУКУ ГРЕКУ ЦАП».
2.1 Блочное кодирование
Информация в ПК уже представлена в виде блоков по 8 бит, но мы, зная контекст, попробуем представить её в виде блоков меньшего размера. Для этого нам нужно собрать информацию о представленных символах и, на будущее, сразу подсчитаем частоту использования каждого символа:





















= 0.1101 1001
10.0111 1011
10.0111 1100
+1