Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура вечер 2012.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
706.05 Кб
Скачать
    1. Система кодирования чисел.

Для представления чисел с учётом их знаков в вычислительных машинах используются специальные коды.

      1. Прямой код.

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

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

Обозначение: [А]пр

Пример: А = + 10101.01→ [А]пр = 03 10101.01;

В = - 11001.1 → [В]пр = 1 11001.1 .

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

      1. Обратный код.

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

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

Пример: А = + 10101.01→ [А]пр = 0 10101.01→[А]обр = 0 10101.01;

В = - 11001.1 → [В]пр = 1 11001.1 →[В]обр = 1 00110.0

А = - 11001 → [А]пр = 1 11001 → [А]обр = 1 00110;

В= -011 → [В]пр = 1 100 → [В]обр = 1 011.

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

      1. Дополнительный код.

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

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

Пример: [А]пр =1 11001 → [А]обр =1 00110→ [А]д =1 00111;

[В]пр =1 100 → [В]обр =1 011 → [В]д =1 100.

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

Пример: выполнение операции вычитания А-В ( А=510, В=310) осуществляется как операция сложения А+(-В). Переводим числа в дополнительный код и осуществляем операцию сложения.

[А]пр=0 001012→ [А]обр =0 0001012→ [А]д =0 0001012;

[В]пр =1 00112→ [В]обр =1 1111002 → [В]д =1 1111012.

Знак Слагаемые

результат

0

1

0

0 0 0 1 0 12

1 1 1 1 0 12

0 0 0 0 1 0 2

510

-310

210


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

[0]д = 0 0…0;

+0 = [0]о=0 000…00;

-0 = [0]о=1 111…11.