- •«Разработка программ преобразования форматов двоичных данных и сортировок в машинных кодах микро-эвм см-1800 с помощью эмулятора на пк»
- •Задание
- •Оглавление
- •Введение.
- •Аналитическая часть.
- •Двоично- десятичное кодирование.
- •Преимущества
- •Недостатки
- •Операции над двоично-десятичными числами:
- •Стандарты кодирования текстов.
- •Ascii -коды десятичных цифр
- •Примеры арифметики с дд- кодами на основе чисел из таблицы п.2 после их перевода в дд.
- •Практическая часть. Блок-схема алгоритма.
- •Листинг программы с комментариями.
- •Результаты работы программы.
- •Описание средств вычислительной техники.
- •Выводы.
- •Литература.
Двоично- десятичное кодирование.
Компромиссная система, для удобства восприятия данных человеком и корректной работы компьютера, двоично-десятичная запись чисел.
Принцип построения этой системы достаточно прост: каждая десятичная цифра преобразуется прямо в свой десятичный эквивалент из 4 бит, например:
369110=0011 0110 1001 0001DEC:
Десятичное число 3 6 9 1
Двоично-десятичное число 0011 0110 1001 0001
Преобразуем двоично-десятичное число 1000 0000 0111 0010 в его десятичный эквивалент. Каждая группа из 4 бит преобразуется в её десятичный эквивалент. Получим 1000 0000 0111 0010DЕС = 807210:
Двоично-десятичное число 1000 0000 0111 0010
Десятичное число 8 0 7 2
Микропроцессоры используют чистые двоичные числа, однако понимают и команды преобразования в двоично-десятичную запись. Полученные двоично-десятичные числа легко представимы в десятичной записи, более понятной людям.
Форматы представления десятичных чисел
В настоящее время распространены два формата представления десятичных чисел в микропроцессорах - упакованный двоично-десятичный код (BCD-Binary-Coded Decimal) и неупакованный десятичный код.
Упакованный BCD-код - это такое представление десятичного числа, когда каждая десятичная цифра представляется 4-х битным двоичным позиционным кодом 8-4-2-1. При этом байт содержит две десятичные цифры. Младшая десятичная цифра занимает правую тетраду (биты 3 : 0), старшая - левую тетраду (биты 7 :4).
Многоразрядные BCD-числа занимают несколько смежных байт. Если число является знаковым, то для представления знака в BCD-формате отводится старшая тетрада старшего байта. Для кодирования знака можно использовать шесть двоичных кодовых комбинаций, которые не используются для представления десятичных цифр. Это коды 1010-1111 (A-F в шестнадцатеричном представлении). Обычно для кодирования знака плюс применяют код 1100 (C), а для знака минус - 1101 (D). На рисунке показано BCD-представление десятичного числа "-12345":
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
|
«-» |
«1» |
|
||||||
|
|
|
|
|
|
|
|
|
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
|
«2» |
«3» |
|
||||||
|
|
|
|
|
|
|
|
|
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
|
«4» |
«5» |
|
||||||
Неупакованный десятичный код является подмножеством международной таблицы кодирования символов ASCII (Таблица). Видно, что для хранения неупакованных десятичных чисел требуется в два раза больше памяти, так как каждая цифра представляется 8-битным кодом.
Преимущества
Упрощён вывод чисел на индикацию — вместо последовательного деления на 10 требуется просто вывести на индикацию каждый полубайт. Аналогично, проще ввод данных с цифровой клавиатуры.
Для дробных чисел (как с фиксированной, так и с плавающей запятой) при переводе в человекочитаемый десятичный формат и наоборот не теряется точность.
Упрощены умножение и деление на 10, а также округление.
По этим причинам двоично-десятичный формат применяется в калькуляторах — калькулятор в простейших арифметических операциях должен выводить в точности такой же результат, какой подсчитает человек на бумаге.
