Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мат и лог основы ВТ+.doc
Скачиваний:
6
Добавлен:
23.09.2019
Размер:
281.6 Кб
Скачать

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

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

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

Принцип фиксации переполнения, основанный на применении модифицированных кодов. В модифицированном коде к знаковому разряду добавляется ещё один разряд: " + " – 00;

" – " - 11

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

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

При переполнении искажается младший знаковый разряд. Несовпадение знаковых разрядов после выполнения операции указывает на факт наличия переполнения. При этом различают два типа переполнения:" 01 " – положительное; " 10 " - отрицательное.

Числа с плавающей запятой. Числа представляют в полулогарифмической форме. Вес числа изменяется за счет изменения порядка числа. Число состоит из мантиссы, старший разряд которой определяет знак числа, и порядка со знаком.

А=S±p*(± m), где S-основание СС мантиссы числа, m-мантисса, |m|<1; p-целое число, выражающее порядок числа (перемещение запятой «+p»-вправо, «-p»-влево).

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

1. Сравниваются порядки (характеристики) исходных чисел путем их вычитания р=р1-р2.

2. Если разность порядков не равна нулю, то должно проводиться выравнивание порядков.

3. Для выравнивания порядков число с меньшим порядком сдвигается вправо на разницу порядков Ар. Младшие выталкиваемые разряды при этом теряются.

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

5. Порядок результата берется равным большему порядку.

Умножение (деление).

1. При умножении (делении) порядки складываются (вычитаются) так, как это делается над числами с фиксированной точкой.

2. При умножении (делении) мантиссы перемножаются (делятся).

3. Знаки произведения (частного) формируются путем сложения знаковых разрядов сомножителей (делимого и делителя). Возможные переносы из знакового разряда игнорируются.

6.Представление числа в 2-10 коде, его особенности, преимущества, недостатки, арифметические операции над 2-10 кодами

Двоично-десятичный код (BCD, 8421-BCD) — форма записи целых чисел, когда каждый десятичный разряд числа записывается в виде его четырёхбитного двоичного кода.

Например, десятичное число 31110 будет записано в двоично-десятичном коде как 0011 0001 0001BCD.

Преимущества

1. Упрощён вывод чисел на индикацию — вместо последовательного деления на 10 требуется просто вывести на индикацию каждый полубайт. Аналогично, проще ввод данных с цифровой клавиатуры.

2. Для дробных чисел (как с фиксированной, так и с плавающей запятой) при переводе в десятичный формат и наоборот не теряется точность.

3. Упрощены умножение и деление на 10, а также округление.

По этим причинам двоично-десятичный формат применяется в калькуляторах

Недостатки

1. Требует больше памяти.

2. Усложнены арифметические операции. Так как в 8421-BCD используются только 10 возможных комбинаций 4-х битового поля вместо 16, существуют запрещённые комбинации битов: 1010(1010), 1011(1110), 1100(1210), 1101(1310), 1110(1410) и 1111(1510).

Поэтому, при сложении и вычитании чисел формата 8421-BCD действуют следующие правила:

1. При сложении двоично-десятичных чисел каждый раз, когда происходит перенос бита в старший полубайт, необходимо к полубайту, от которого произошёл перенос, добавить корректирующее значение 0110 (= 610 = 1610 — 1010: разница количеств комбинаций полубайта и используемых значений).

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

3. При вычитании двоично-десятичных чисел, для каждого полубайта, получившего заём из старшего полубайта, необходимо провести коррекцию, отняв значение 0110.

Сложения двоично-десятичных чисел:

Требуется: Найти число A = D + C, где D = 3927, C = 4856

Решение: Представим числа D и C в двоично-десятичной форме:

D = 392710 = 0011 1001 0010 0111BCD

C = 485610 = 0100 1000 0101 0110BCD

Суммируем числа D и С по правилам двоичной арифметики:

* **

0011 1001 0010 0111

+ 0100 1000 0101 0110

= 1000 0001 0111 1101 - Двоичная сумма

+ 0110 0110 - Коррекция

1000 0111 1000 0011

'*' — тетрада, из которой был перенос в старшую тетраду

'**' — тетрада с запрещённой комбинацией битов

В тетраду, помеченную символом *, добавляем шестёрку, так как по правилам двоичной арифметики перенос унёс с собой 16, а по правилам десятичной арифметики должен был унести 10. В тетраду, помеченную символом **, добавляем шестёрку и разрешаем распространение переноса, так как комбинация битов 1101 (что соответствует десятичному числу 13) является запрещённой.