Двоично-десятичная система счисления



 

Двоично-десятичная система счисления широко используется в цифровых устройствах, когда основная часть операций связана не с обработкой и хранением вводимой информации, а с ее вводом и выводом на какие-либо индикаторы с десятичным представлением полученных результатов (микрокалькуляторы, кассовые аппараты и т. п.).

В двоично-десятичной системе счисления цифры от 0 до 9 представляют четырехразрядными двоичными комбинациями от 0001 до 1001, т.е. двоичными эквивалентами десяти первых шестнадцатеричных чисел. Преобразования из двоично-десятичной системы в десятичную систему и обратные преобразования выполняются путем прямой замены четырех двоичных цифр одной десятичной цифрой или обратной замены.

Пример. Преобразовать число 001101112-10 из двоично-десятичной системы в десятичную систему.

Ответ: 001101112-10 = 3710.

Две двоично-десятичные цифры составляют 1 байт. Таким образом, с помощью 1 байта можно представить значения от 0 до 99, а не от 0 до 255, как при использовании 8-разрядного двоичного кода. Используя 1 байт для представления каждых двух десятичных цифр, можно формировать двоично-десятичные числа с любым требуемым числом десятичных разрядов.

Так, если число 1000 0011 0010 0111 рассматривать как двоичное, то его десятичный эквивалент 1000 0011 0010 01112 = 3357510 в несколько раз больше десятичного эквивалента двоично-десятичного числа 1000 0011 0010 01112-10 = 832710.

Арифметические действия с нормализованными числами

Сложение и вычитание

 

К началу выполнения арифметического действия операнды операции помещаются в соответствующие регистры АЛУ.

Сначала выполняется подготовительная операция, называемая выравниванием порядков.

В процессе выравнивания порядков мантисса числа с меньшим порядком сдвигается в своем регистре вправо на количество разрядов, равное разности порядков операндов.

После каждого сдвига порядок увеличивается на единицу, а освободившиеся старшие разряды заполняются нулями. В результате выравнивания порядков одноименные разряды чисел оказываются расположенными в соответствующих разрядах обоих регистров, после чего мантиссы складываются или вычитаются.

В случае необходимости полученный результат нормализуется путем сдвига мантиссы результата влево.

Нормализацией называется выбор такого значения порядка, при котором старший разряд мантиссы имеет значение 1. При нормализации возможны две ситуации:

− результат меньше 1/2, то есть старшие разряды мантиссы нулевые. Если при этом результат представлен в прямом коде, мантисса сдвигается влево до тех пор, пока первая значащая 1 не окажется в старшем разряде. Если же результат представлен в обратном или дополнительном коде (отрицательный), производится сдвиг влево до появления в старшем разряде первого значащего нуля. При каждом сдвиге значение порядка уменьшается на 1;

− результат больше 1, то есть разрядная сетка переполнена. В этом случае мантисса сдвигается вправо на один разряд с одновременным увеличением порядка на 1.

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

Примеры.

1) Сложить десятичные нормализованные числа 0,536·106 и 0,284·103.

Разность порядков слагаемых здесь равна трём (6-3=3), поэтому перед сложением мантисса второго числа сдвигается на три разряда вправо:

+
0,536  ·106

0,000284 ·106

0,536284 ·106

2) Сложить двоичные нормализованные числа 0,11011·210    и 0,10111·2–1.

Разность порядков слагаемых здесь равна трем (102+12=112=310), поэтому перед сложением мантисса второго числа сдвигается на три разряда вправо:

+
0,11011 ·210

0,00010111·210

0,11101111·210

3) Сложить шестнадцатеричные нормализованные числа 0,1В5·163  и 0,34Е·16–1.

Разность порядков слагаемых здесь равна четырём (316+116=416=410), поэтому перед сложением мантисса второго числа сдвигается на четыре разряда вправо:

+
0,1В5   ·163

0,000034Е·163

0,1В5034Е·163

4) Выполнить вычитание двоичных нормализованных чисел 0,10101·210 и 0,11101·21.

Разность порядков уменьшаемого и вычитаемого здесь равна единице (102-12=12=110), поэтому перед вычитанием мантисса второго числа сдвигается на один разряд вправо:

-
0,10101 ·210

0,011101·210

0,001101·210

Результат получился не нормализованным, поэтому его мантисса сдвигается влево на два разряда с соответствующим уменьшением порядка на две единицы: 0,1101·20.

5) Выполнить вычитание восьмеричных нормализованных чисел 0,125·83 и 0,32·8-2 Разность порядков уменьшаемого и вычитаемого здесь равна пяти (38+28=58=510), поэтому перед вычитанием мантисса второго числа сдвигается на пять разрядов вправо:

-
0,125    ·83

0,0000032 ·83

0,0147746 ·83

Результат получился не нормализованным, поэтому его мантисса сдвигается влево на один разряд с соответствующим уменьшением порядка на одну единицу: 0,147746 ·82.

Умножение и деление

 

Для получения результата в данном случае выполняются следующие действия, причем не важно, какое из двух данных чисел больше.

1. Мантиссы перемножаются или одна делится на другую;

2. Порядки при умножении складываются, а при делении вычитаются;

3. При необходимости мантисса результата нормализуется.

Примеры:

1. Выполнить умножение двоичных нормализованных чисел:

(0,11101 . 2101) . (0,1001 . 211) = (0,11101 . 0,1001) . 2(101+11) = 0,100000101 . 21000.

2. Выполнить умножение восьмеричных нормализованных чисел:

(0,765 . 84) . (0,537 . 85) = (0,765 . 0,537) . 8(4+5) = 0,527353 . 811.

3. Выполнить умножение шестнадцатеричных нормализованных чисел:

(0,А25 . 167) . (0,6С . 169) = (0,А25 . 0,6С) . 16(7+9) = 0,4479С . 1610.

4. Выполнить деление двоичных нормализованных чисел:

(0,100000101 . 21000) : (0,1001 . 211) = (0,100000101 : 0,1001) . 2(1000-11) = 0,11101 . 2101

5. Выполнить деление восьмеричных нормализованных чисел:

(0,527353 . 811) : (0,537 . 85) = (0,527353 : 0,537) . 8(11-5) = 0,765 . 84.

6. Выполнить деление шестнадцатеричных нормализованных чисел:

(0,4479С . 1610) : (0,6С . 169) = (0, 4479С : 0,6С) . 16(10-9) = 0,А25 . 167.

Контрольные вопросы

 

1. Что такое система счисления? Основание системы счисления?

2. Что такое позиционные и непозиционные системы счисления?

3. Что такое двоичная, восьмеричная, шестнадцатеричная системы cчисления?

4. Правила сложения, вычитания, умножения в двоичной системе счисления.

5. Правила перевода чисел из одной системы счисления в другую.

6. Формы представления двоичных чисел.

7. Прямой, обратный, дополнительный коды чисел.

8. Правило сложения двоичных чисел в обратном и дополнительном кодах.

9. Какие существуют виды систем счисления?

10. Какая система счисления называется непозиционной?

11. Какая система счисления называется позиционной?

12. Что такое основание системы счисления?

13. Что принимается за основание системы счисления?

14. Какие системы счисления используются при компьютерной обработке данных?

15. Какие символы используются для представления чисел в двоичной системе счисления?

16. Какие символы используются для представления чисел в восьмеричной системе счисления?

17. Какие символы используются для представления чисел в шестнадцатеричной системе счисления?

18. Как перевести целое число из одной системы счисления в другую?

20. Как перевести дробную часть числа из одной системы счисления в другую?

21. Сколько единиц можно занять в двоичной системе счисления?

22. Сколько единиц можно занять в восьмеричной системе счисления?

23. Сколько единиц можно занять в шестнадцатеричной системе счисления?

24. Что такое триггер?

25. Что такое прямой код числа?

26. Чему равен обратный и дополнительный коды целого положительного числа?

27. Как образуется обратный код целого отрицательного числа?

28. Как образуется дополнительный код целого отрицательного числа?

29. Как представляется вещественное число в форме с плавающей точкой?


Дата добавления: 2019-09-13; просмотров: 379; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!