Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КП Арифметика ТЕОРИЯ_v4 2012-весна.doc
Скачиваний:
12
Добавлен:
04.09.2019
Размер:
752.13 Кб
Скачать

2.3.5.2. Представление десятичного числа в двоично-десятичном неупакованном формате

В неупакованном формате двоично-десятичного кода каждый байт содержит один разряд десятичного числа. Перевод целого десятичного числа в двоично-десятичную систему счи­сления (неупакованный формат) производится по правилу: каждая десятичная цифра (от 0 до 9) преобразуется в двоично-десятичный эквивалент из четырех бит (от 0000 до 1001) и записывается в младшую тетраду байта.

Пример: 2910=(2) (9)=0000 0010 0000 10012-10 (число 29 в неупакованном формате).

2.3.5.3. Перевод bcd упакованного формата в десятичное число

Перевод двоично-десятичного упакованного числа в десятичную систему счисления производится по правилу:

каждые четыре бита (младшая и старшая тетрада) переводятся в десятичный символ с помощью степенного ряда.

Пример: 0010 10012-10 = (0010) (1001)=(023 + 022 + 121 + 020) (123 + 022 + 021 + 120) = 2910.

2.3.5.4. Перевод bcd неупакованного формата в десятичное число

Перевод двоично-десятичного неупакованного числа в десятичную систему счисления производится по правилу:

четыре младших бита байта (младшая тетрада) переводятся в десятичный символ с помощью степенного ряда.

Пример: 0000 0010 0000 10012-10 = (0+0+0+0 + 0+0+2+0) (0+0+0+0 + 8+0+0+1) = 2910.

2.4. Арифметические операции

Арифметические операции сложения, вычитания, умножения и деления основаны на общих правилах, применяемых в позиционных си­стемах счисления.

2.4.1. Арифметическое сложение

2.4.1.1. Арифметическое сложение двоичных чисел

Арифметическое сложение двоичных чисел выполняется по следующим правилам:

0 + 0 = 02; 0 + 1 = 12; 1 + 0 = 12; 1 + 1 = 102; 1 + 1 + 1 = 112.

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

Пример: Сложить два числа 2810 + 5810 в восьмиразрядной сетке. Порядок выполнения арифметического сложения двоичных чисел в восьмиразрядной сетке приведен в табл. 2.20.1.

Табл.2.20.1. Арифметическое сложение двух чисел 2810 + 5810

Система счисления

Двоичное число

Десятичное число

Номер разряда

С

7

6

5

4

3

2

1

0

1

0

Перенос

0

0

1

1

1

0

0

0

0

1

1-е слагаемое

0

0

0

1

1

1

0

0

2

8

2-е слагаемое

0

0

1

1

1

0

1

0

5

8

Сумма

0

1

0

1

0

1

1

0

8

6

Примечание. С – это бит переноса из старшего седьмого разряда.

Ответ: 2810 + 5810 = 0001 11002 - 0011 10102 = 0101 01102 = 8610.

Пример: Сложить два числа 25510 + 110 в восьмиразрядной сетке. Порядок выполнения арифметического сложения двоичных чисел в восьмиразрядной сетке приведен в табл. 2.20.2.

Табл.2.20.2. Арифметическое сложение двух чисел 25510 + 110

Система счисления

Двоичное число

Десятичное число

Номер разряда

С

7

6

5

4

3

2

1

0

2

1

0

Перенос

1

1

1

1

1

1

1

1

0

1-е слагаемое

1

1

1

1

1

1

1

1

2

5

5

2-е слагаемое

0

0

0

0

0

0

0

1

1

Сумма

0

0

0

0

0

0

0

0

2

5

6

Примечание. Значение бита переноса С в результате не учитывается.

Ответ: при сложении десятичных чисел 25510 + 110 получается 25610, которое не входит в диапазон восьмиразрядной сетки 0 … 25510. Поэтому результат в двоичной системе 000000002 получается неверный из-за переполнения восьмиразрядной сетки. Для получения правильного результата необходимы вычисления с двойной точностью, то есть в шестнадцатиразрядной сетке.

Пример: Сложить два числа 25510 + 110 в шестнадцатиразрядной сетке. Порядок выполнения арифметического сложения двоичных чисел в шестнадцатиразрядной сетке приведен в табл. 2.20.3.

Табл.2.20.3. Арифметическое сложение двух чисел 25510 + 110

Система счисления

Двоичное число

Номер разряда

С

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Перенос

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0

1-е слагаемое

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

2-е слагаемое

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

Сумма

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

Ответ: при сложении десятичных чисел 25510 + 110 получается 25610, которое входит в диапазон шестнадцатиразрядной сетки 0 … 6553510. Поэтому результат в двоичной системе получается верный 0000 0001 0000 00002 = 25610.

Пример: Сложить два числа -110 + 110 в восьмиразрядной сетке. Порядок выполнения арифметического сложения двоичных чисел в восьмиразрядной сетке приведен в табл. 2.20.4.

Табл.2.20.4. Арифметическое сложение двух чисел -110 + 110

Система счисления

Двоичное число

Десятичное число

Номер разряда

СF

7

6

5

4

3

2

1

0

0

Перенос

1

1

1

1

1

1

1

1

0

1-е слагаемое

1

1

1

1

1

1

1

1

-1

2-е слагаемое

0

0

0

0

0

0

0

1

+1

Сумма

0

0

0

0

0

0

0

0

0

Примечание. СF – разряд переноса (заема). Значение бита переноса СF в результате не учитывается.

Ответ: при сложении десятичных чисел -110 + 110 получается 010, которое входит в диапазон восьмиразрядной сетки -12810 … 0 … +12710. Результат 0000 00002 верный.