Представление информации в микропроцессорных средствах. Системы счисления

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

?сло 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 легко затем представляется в десятичной форме, используя вышеописанные простые процедуры.

Литература

 

  1. Кибернетика основа наук под ред. проф. Карул К.В. - К. 2009 г.
  2. Основы микропроцессорных исчислений под ред. Мозаев Г.Н. М. 2007 г.