Представление информации в микропроцессорных средствах. Системы счисления
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
?сло N2 =110010111010 шестнадцатеричным N16 или NH, где Н указывает на принадлежность системы счисления к шестнадцатеричной.
Решение: надо начать с младшего бита (МБ) и разделить двоичное число на группы из четырех бит. Затем эти группы заменить эквивалентной шестнадцатеричной цифрой. Первая группа 1010=А, вторая - 1011=В, третья - 100=С, следовательно, результат:
1010 1011 1100 =СВА16 или в Н-коде СВАН.
Поскольку обратные преобразования в рассмотренном примере не встречают затруднения, то рассмотрим преобразования чисел из D-кода (десятичного) в Н-код и обратно.
Пример 1.5 Преобразовать десятичное дробное число в Н-код.
Решение представим в двух частях: отдельно для целой части и для дробной.
В первом случае воспользуемся методикой, заложенной в табл. 1.2, проделаем для N =634. 328125 следующие несложные процедуры (рис. 1.2).
мл. разряд
Шаг 1. 634 : 16 = 39,остаток 1010 = А16
Шаг 1. 39 : 16 = 2,остаток 710 = 716
ст. разряд
Шаг 3. 2 : 16, остаток 210 = 216
63410 = 2 7 А16
Рисунок 1.2 Десятично-шестнадцатеричное преобразование целой части числа
Для преобразования дробной части воспользуемся схемой операций, приведенных в табл. 1.3. А именно, поэтапно (рис. 1.3):
Шаг 1. 16 0. 328125 = 5.25 целая часть "5" ст. разряд
Шаг 1. 16 0. 25 = 4. 0 целая часть "4" мл. разряд
0,328125 = 0. 5 4
Рисунок 1.3 Десятично-шестнадцатеричный перевод дробной части числа
Пример 1.6 Обратное преобразование шестнадцатеричного числа в десятичное: N16 =5CBA. 27.
Целая часть числа в табл.1.6 получила свой десятичный эквивалент в виде N10 =23738.
Таблица 1.6 Преобразование шестнадцатеричного числа в десятичное
Степень позиции163162161160РезультатЗначение позиции4096256161Н-код5СВА4096256161****5121110D-код20480+3072+176+10= 23 73816
Несколько упростив запись по сравнению с табл. 1.6, дробную часть Н-кода можно вычислить по следующей схеме, помня, что 16=0.0625, а 16?0. 0039:
Н-код 0. 2 7
Вес позиций 16-1 16-2 70, 0039= 0. 0273
20, 0625= 0.1250
сумма дробной части = 0. 152310
Тогда результат определяемого преобразования равен 5CBA.27H=23738.1523D.
В отношении восьмеричных чисел ограничимся лишь замечанием, что они как и шестнадцатеричные, используются для представления двоичных чисел в системе с основанием 8=23 (группа из трех бит). Методика прямых и обратных преобразований остается аналогичной, например, шестнадцатеричной системе.
Преобразование восьмеричных в шестнадцатеричные числа производится через двоичную систему счисления.
Двоично-десятичные числа. С целью удобства преобразования чистые двоичные числа представляются десятичными либо шестнадцатеричными. Хотя двоично-десятичное преобразование является не простой операцией, в калькуляторах и числовых приборах используют специальный двоично-десятичный код (DDK), когда на доступных пользователю выходах и входах используются десятичные числа. При использовании двоичных чисел для кодирования десятичных данных необходимо иметь возможность представлять цифры от 0 до 9, т.е. для изображения цифры 9 предельно требуется 4 бит для группы 10011. Однако все 4-разрядные двоичные числа, превышающие 10012, недопустимы в DDK. Чтобы освободить пользователя от подобных преобразований, в системной программе ЭВМ предусматривается специальная команда "Десятичная коррекция", обеспечивающая переполнение 4-разрядного регистра при N10=10 путем добавления числа 01102 (+610).
Пример 1.7. Произвести операции преобразования десятичного числа (D-кода) в DDK, а затем записать десятичный эквивалент (обратная задача).
Решение. Пусть имеем дело с десятичным числом 357910. Каждая цифра числа преобразуется прямо в свой двоично-десятичный эквивалент из 4 бит, в результате получаем:
Десятичное число 3 5 7 9
Двоично-десятичное число 0011 0101 0111 1001
Ответ: 357910 =0011 0101 0111 1001(2-10К).
Решим обратную задачу для DDK в виде: 1000 0010 0110 0000.
Решение. Каждая группа из 4 бит прямо переводится в ее десятичный эквивалент:
DDK 1000 0010 0110 0000
D-код 8 2 6 0
Ответ: 1000 0010 0110 0000(2-10К) =8260D.
МП складывает чистые двоичные числа, но, как отмечалось выше, они имеют команды для преобразования результата своих сложений в двоично-десятичную форму. Полученный DDK легко затем представляется в десятичной форме, используя вышеописанные простые процедуры.
Литература
- Кибернетика основа наук под ред. проф. Карул К.В. - К. 2009 г.
- Основы микропроцессорных исчислений под ред. Мозаев Г.Н. М. 2007 г.