
- •Омский государственный технический университет
- •1. Из истории развития систем счисления
- •Пальцевый счет
- •1.2. Древнеегипетская система счисления
- •Вавилонская система счисления
- •1.4. Системы счисления, основанные на позиционном принципе
- •1.5. Системы счисления Древней Греции
- •1.6. Римская система счисления
- •1.7. Древнеславянская система счисления
- •2. Позиционная система счисления
- •2.1. Представление произвольного числа в позиционной системе счисления
- •2.2. Двоичная система счисления
- •2.3. Восьмеричная система счисления
- •2.4. Шестнадцатеричная система счисления
- •2.5. Перевод чисел в систему с кратным основанием
- •2.6. Перевод правильной дроби
- •Задания для самостоятельной работы №1
- •1. Перевести данное число из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления.
- •2. Перевести данное число в десятичную систему счисления.
- •Контрольная работа №1
- •3. Двоичная арифметика
- •3.1. Сложение двоичных чисел
- •3.2. Вычитание двоичных чисел
- •3.3. Умножение в двоичной системе счисления
- •3.4. Деление двоичных чисел
- •4. Формы представления чисел в эвм
- •4.1. Числа с фиксированной запятой
- •4.2. Числа с плавающей запятой
- •4.3. Сложение (вычитание) чисел с плавающей запятой
- •4.4. Умножение чисел с плавающей запятой
- •4.5. Прямой код
- •4.6. Обратный код
- •1 0111111111111111 – Обр. Код второго числа
- •4.7. Дополнительный код
- •4.8. Признак переполнения разрядной сетки
- •4.9. Правило перевода из дополнительного кода в десятичную систему
- •4.10. Модифицированные коды
- •5. Форматы чисел в эвм
- •Задания для самостоятельной работы №2
- •Контрольная работа №2.2
- •Контрольная работа №2.3
- •Контрольная работа №2.4
- •6. Кодирование алфавитно-цифровой информации
- •6.1. Параметры алфавитно-цифровой информации
- •6.3. Стандарты кодирования символов ansi, кои-8 и unicode
- •7. Двоично-десятичные коды
- •7.2. Коды с избытком
- •7.5. Действия над двоично-десятичными числами
- •7.6. Сложение двоично-десятичных чисел
- •7.7. Вычитание модулей двоично-десятичных чисел
- •7.8. Умножение модулей двоично-десятичных чисел
- •8. Код грея
- •8.1. Строение кода Грея
- •8.2. Использование кода Грея
- •8.3. Алгоритмы преобразования кода Грея
- •9. Погрешности вычислений
- •9.1. Источники погрешностей
- •9.2. Абсолютная и относительная погрешности
- •9.3. Десятичная запись приближенных чисел Значащая цифра числа. Верная значащая цифра
- •9.4. Распространение ошибок
- •9.5. Правила подсчета цифр
- •9.6. Общие рекомендации, позволяющие уменьшить погрешность вычислений
- •9.7. Ошибки в программах, связанные с особенностью выполнения арифметических операций
- •10. Представление графической информации
- •10.1. Текстовый режим
- •10.2. Графический режим
- •10.3. Растровое графическое изображение
- •10.4. Векторная графика
- •10.5. Форматы графических файлов
- •11. Представление звуковой информации
- •11.1. Цифро-аналоговое и аналого-цифровое преобразование звуковой информации
- •11.2. Компрессия звука
- •11.3. Формат Microsoft riff
- •11.6. Midi-форма звука
- •11.7. Аппаратные синтезаторы
- •11.8. Альтернативы звука в эвм
- •11.9. Звуковые платы
- •Задачи для самостоятельной работы
- •Приложение 3
- •Содержание
- •Литература
7. Двоично-десятичные коды
Наряду с обычной системой кодирования алфавитно-цифровой информации в машинах сохраняют также отдельную систему кодирования для данных, состоящих только из десятичных цифр. Необходимый перевод для ЭВМ десятичных чисел в двоичные и обратно требует затраты времени и ресурсов. В цифровых устройствах, где основная часть операций связана не с обработкой и хранением информации, а с самим ее вводом и выводом на какие-либо устройства отображения с десятичным представлением полученных результатов, имеет смысл проводить вычисления в десятичной системе счисления. Но ЭВМ требует информацию только в двоичной форме. Следовательно, десятичные цифры нужно кодировать каким-либо легко реализуемым и быстрым способом. Для этих целей используется двоично-десятичный код (ДДК), в котором каждая десятичная цифра 0...9 изображается соответствующим 4-разрядным числом (от 0000 до 1001). Так, если рассматривать четыре двоичных разряда тетрады как четырехразрядное двоичное число, то веса ее отдельных разрядов слева направо будут равны соответственно 8, 4, 2 и 1.
7.1. Код 8421
Код 8421 удобен для выполнения машинного (а не вручную) преобразований из десятичной системы в двоичную и обратно. Его можно назвать кодом с естественными весами. Этот код аддитивен, т.е. сумма представлений двух цифр есть код их суммы. Однако использование этого кода связано с трудностями обнаружения переноса в следующий десятичный разряд и сложностью перехода к обратным и дополнительным кодам для десятичных чисел, облегчающим выполнение алгебраического сложения. Это объясняется тем, что код 8421 не является самодополняющимся, т. е. инверсия его двоичных цифр не даёт кода дополнения десятичной цифры до 9. Поэтому этот код обычно применяется при выполнении операций ввода-вывода.
В этом коде каждая десятичная цифра представляется ее двоичным эквивалентом:
цифра 0 как 0000,
цифра 1 как 0001,
цифра 2 как 0010,
цифра 5 как 0101,
цифра 8 как 1000,
цифра 9 как 1001.
В то же время, имея четыре двоичных цифры, можно представить не 10, а 16 различных комбинаций. Таким образом, при использовании кода “8421” шесть комбинаций: 1010, 1011, ..., 1111 останутся неиспользованными, т.е. не будут изображать ни одной из десятичных цифр. Эти комбинации считаются запрещенными.
7.2. Коды с избытком
Кроме рассмотренной системы кодирования достаточно широко используются также так называемые коды с избытком. Рассмотрим группу кодов “8421” с избытком”.
Код “8421” с избытком W” строится по следующим правилам:
При кодировании десятичной цифры, к ней вначале прибавляют W, и затем полученное число представляют как двоичное в коде «8421».
Значение W может быть равным 1, 2, 3, 4, 5 или 6. При любом значении избытка W шесть из шестнадцати комбинаций останутся неиспользованными. Только для разных избытков эти значения будут разными.
Пример 7.1. Рассмотрим код “8421” с избытком 3”.
1. Представим цифру 8 в данном коде. Вначале увеличим 8 на 3. Получится 11. Затем запишем 11 в коде “8421”. Получится 1011. Число 1011 и есть представление цифры 8 в данном коде.
2. Восстановим цифру, которая изображается комбинацией 0101. Вначале представим десятичное число, рассматривая комбинацию 0101, как его изображение в коде “8421”. Получится число 5.Затем вычтем из него (из 5) избыток 3. Получится 2.
Это и есть искомый ответ: Комбинация 0101 изображает десятичную цифру 2 в коде “8421” с избытком 3”.
3. Восстановим цифру, которая изображается комбинацией 1110.
Восстановим десятичное число. Получится 14.
Вычтем из него избыток 3. Получится 11.
Поскольку 11 не является десятичной цифрой (это двухразрядное десятичное число), делаем вывод, что комбинация 1110 не изображает никакой десятичной цифры и является запрещенной.
7.3. Код 2421
Кроме кодов с естественными весами разрядов применяются и другие. Одним из широко известных кодов является позиционный код, построенный с использованием тетрады двоичных цифр, веса которых слева направо равны соответственно: 2, 4, 2 и 1. Представим коды цифр в таблице 7.1.
Таблица 7.1.
Цифра |
Код “2421” |
Цифра |
Код “2421” |
0 |
0000 |
5 |
0101 или 1011 |
1 |
0001 |
6 |
0110 или 1100 |
2 |
0010 или 1000 |
7 |
0111 или 1101 |
3 |
0011 или 1001 |
8 |
1110 |
4 |
0100 или 1010 |
9 |
1111 |
Как видно из таблицы, ряд десятичных цифр могут быть представлены двумя не совпадающими двоичными комбинациями.
Например, комбинации 0100 и 0010 изображают цифру 2, комбинации 1010 и 0100 изображают цифру 4 и т.д. Отличительной особенностью данного кода является то, что в нем нет неиспользованных (запрещенных) комбинаций.
7.4. Код “2 из 5”
Данный код принадлежит к непозиционным кодам. Как и все непозиционные коды, он определяется табличным способом. Его название отражает принцип построения кода: любая десятичная цифра представляется комбинацией из 5 двоичных цифр, в которой точно две цифры 1 и, следовательно, три цифры 0.
Представим таблицу 7.2. одного из возможных вариантов для данного кода:
Таблица 7.2. Представление кода «2 из 5»
Цифра |
Код |
Цифра |
Код |
0 |
11000 |
5 |
01010 |
1 |
00011 |
6 |
01100 |
2 |
00101 |
7 |
10001 |
3 |
00110 |
8 |
10010 |
4 |
01001 |
9 |
10100 |
Все остальные возможные комбинации, в которых число единиц не равно двум, являются запрещенными.
Также как и все коды на основе тетрады “8421”, последний код принадлежит к группе кодов, обладающих так называемыми диагностическими возможностями: Если известно, что некоторая комбинация должна изображать десятичную цифру, но попадает в область запрещенных значит, произошло искажение информации. Это свойство кодов активно используется в аппаратуре ЭВМ.