Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
45
Добавлен:
18.03.2015
Размер:
292.01 Кб
Скачать

АРИФМЕТИЧЕСКИЕ ОСНОВЫ РАБОТЫ КОМПЬЮТЕРА

Как компьютер выполняет арифметические действия над целыми числами

Форма представления целых чисел со знаком, когда крайний левый бит разрядной сетки отводится под знак, а остальные биты – под цифры числа, называется прямым кодом. Форма представления двоичных чисел в виде прямого кода используется в компьютере для хранения только целых положительных чисел.

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

отрицательное двоичное число записывается в прямом коде (в старшем бите помещается единица); все разряды прямого кода, кроме знакового

(старшего бита) инвертируются – получается

обратный код;

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

Представить в двух байтах число -1910 в дополнительном коде.

1. Преобразуем в 2-ю с.с.

-1910 = -100112

2.Записываем прямой код.

1000000000010011

3.Получаем обратный код (все разряды прямого кода кроме знакового инвертируем).

1111111111101100

4. Получаем дополнительный код путем прибавления к обратному единицы.

1 111111111101101

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

Дополнительный код используется для замены операции вычитания простым сложением.

При алгебраическом сложении (алгебраическое сложение – это сложение чисел со знаками) двух двоичных чисел с использованием дополнительного кода, положительные слагаемые представляются в компьютере в прямом коде, а отрицательные – в дополнительном. Затем производится суммирование этих кодов, включая разряды знаков.

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

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

Пример. Даны числа A = 3410, B = 3010. Вычислить A + B, A - B, B - A, A B

в однобайтовом формате.

Решение.

1. Найдем сумму A+B:

Числа -A = -3410 и -B = -3010 представим в дополнительном однобайтовом коде.

 

A

B

прямой

1 0100010

1 0011110

обратный

1 1011101

1 1100001

дополнительный

1 1011110

1 1100010

Найдем разность A – B:

Единица, вышедшая за пределы восьмиразрядной сетки, отбрасывается, результат

положительное число 1002 = 410.

Соседние файлы в папке лекции