Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_ПТЦА_2.doc
Скачиваний:
4
Добавлен:
09.11.2019
Размер:
594.94 Кб
Скачать
  1. Лабораторная работа №2

  2. АЛГЕБРАИЧЕСКОЕ СЛОЖЕНИЕ БИНАРНЫХ ЧИСЕЛ

Цель работы:

Изучить:

  • Коды бинарных чисел. Представление отрицательных чисел.

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

  • Переход от прямого кода к обратному, дополнительному и наоборот.

  • Переполнение разрядной сетки при сложении прямых, дополнительных и обратных кодов. Модифицированные коды.

Теоретические сведения

2.1 Формальные правила двоичной арифметики

В арифметике любого вида участвуют всегда два или более чисел. Формально это можно представить: , где ▼ - знак любого арифметического действия .

Результат выполнения операции ▼ цифр аi и bi в i-м разряде представляется двумя цифрами, цифрой Ci - результата соответствующей операции в данном разряде и цифрой Пi – переноса в старший разряд или займа в старшем разряде (при вычитании).

Результат Ci и перенос Пi формируются по следующим правилам:

Сложение:

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

Правила сложения для полусумматора можно представить таблицей 2.1.

Таблица 2.1-Полусумматор

ai

bi

ci

Пi

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

Однако, не учитывать переносов при суммировании многоразрядных чисел нельзя. Поэтому, при сложении пользуются устройством двоичный сумматор - устройство выполняющее арифметическое действие сложение с учетом переносов от предыдущего разряда и передачи переносов в последующий.

Таблица истинности цифрового автомата - двоичного сумматора представлена в таблице 2.2

Таблица 2.2- Сумматор

ai

bi

Пi

ci

Пi+1

0

0

0

0

0

0

1

0

1

0

1

0

0

1

0

1

1

0

0

1

0

0

1

1

0

0

1

1

0

1

1

0

1

0

1

1

1

1

1

1

Здесь поразрядное сложение выполняется по формуле

ai + bi + Пi-1 = Ci + Пi

где аi, bi - разряды чисел А.,В.; Ci - сумма і-го разряда Пi-1 - перенос из предыдущего разряда Пi - перенос в последующий разряд. При выполнении арифметической операции вычитания в двоичной системе счисления, так как и в десятичной, производится заем, равносильный вычитанию единицы из старшего разряда. Заимствование из старшего разряда эквивалентно добавлению к младшему разряду величины основания.

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

2.2 Прямой код отрицательных чисел

Одним из способов выполнения операций с помощью двоичного сумматора, является замена операции вычитания операцией суммы с обратным или дополнительным кодом отрицательного числа:

А – В = А + (-В)обр.

Замена вычитания сложением ставит проблему представления отрицательного числа в цифровом формате.

Первый метод использует прямой код числа , где машинное изображение использует 1 (или 11) для обозначения «-».

Прямой код отрицательного числа есть код, все цифровые разряды которого остаются неизменными, записанными в нормализованной форме, а в знаковой части числа записывается "1"(или 11 для модифицированного кода ).

Например: N = - 0,101110 то NM = 1.101110.

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

Например: N= 0,110101 то NM= 0.110101

В прямом коде в числовую сетку автомата можно записать , где n – количество разрядов. А диапазон чисел, для прямого кода, лежит в пределах

– (1 – 2-n) <= NM <= (1 – 2-n). 2.1

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

2.2 Обратный код числа

Обратным кодом числа NM = 1, a1, a2,…, an называется такое машинное изображение числа, для которого ai = 0, если оно равнялось "1" и наоборот, аi = 1, если оно равнялось "0".

Иначе, обратным кодом двоичного числа является инверсное изображение этого числа, т.е. все разряды исходного бинарного числа, принимают обратное значение.

Например: N = - 0,101110 то No6 = 1,010001.

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

Например: -0,286357(10)пр=9,713642(10)обр

-0,1010111101(2)пр=1,0101000010(2)обр

Особо обратить внимание.

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

Ниже приведены примеры для различных систем счисления:

9.243476 (10) →9.756523(10)

1.0111000111(2)пр→1.1000111000(2)обр

0.943890(10)пр→0.943890(10)обр

0.1010110101(2)пр→0.1010110101(2)обр

00.110000111(2)пр→00.110000111(2)обр

11.110100000(2)пр→11.001011111(2)обр

2.2.1 Переход от обратного кода к прямому

Переход от обратного кода к прямому производится по аналогичному правилу. Из значения (q-1) вычитается значение по каждому разряду, кроме знаковых. Для бинарной системы счисления (просто счастливый случай), можно перейти к прямому коду простым инвертированием разрядов обратного кода, кроме разрядов знаков.

Пример. Апр.= 11.0011001 Аобр = 11.1100110 Апр = 11.0011001

2.3 Дополнительный код числа

Дополнительный код числа N= – 0,a1a2..an –такое машинное представление , в котором число записывается обратным кодом с прибавлением в младшем разряде 1.

Правило перевода из прямого кода в дополнительный код следующее:

-если в знаковом разряде находится (q -1), то все цифры числа, кроме разрядов знаков, заменяются вычетами из (q-1) значения разряда, а затем к цифре последнего младшего разряда добавляется единица;

-если в знаковом разряде находится 0 (или 00), то преобразование цифр не происходит.

Например:

  1. 9.243476(10)пр = 9.756523обр. + 0000001 = 9.756524(10)доп

  2. 1.0111000111(2)пр = 1.1000111000обр. + 0.0000000001 = 1.1000111001(2)доп

  3. –0,101110 = 1.101110 = 1.010001 + 0.000001 = 1.010010

  4. 0.425736пр = 0.425736доп

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

Обобщая, получаем: дополнительный код является математическим дополнением числа до основания системы счисления.

Пример: 0,275936(10)пр = 0,275936(10)доп

Пример: –0,275936(10)пр=10,000000(10)+(–0,275936(10)доп) = 9,724064(10)доп

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]