Автор работы: Пользователь скрыл имя, 15 Февраля 2011 в 21:08, реферат
Счисление, нумерация, - это совокупность приемов представления натуральных чисел. В любой системе счисления некоторые символы ( слова или знаки ) служат для обозначения определенных чисел, называемых узловыми, остальные числа ( алгоритмические ) получаются в результате каких – либо операций из узловых чисел. Системы счисления различаются выбором узловых чисел и способами образования алгоритмических, а с появлением письменных обозначений числовых символов системы счисления стали различаться характером числовых знаков и принципами их записи.
История развития систем счисления. 2
Двоичные системы счисления 6
Двоичная арифметика 10
Формы представления чисел с фиксированной и плавающей запятой. 13
Сложение чисел с фиксированной запятой. 16
Сложение чисел с плавающей запятой. 16
Умножение чисел с фиксированной запятой. 17
Умножение чисел с плавающей запятой. 18
9. Прямой, обратный и дополнительный коды. Модифицированный код. 20
Код,
определенный с помощью соотношения
R
=
называется обратным кодом числа R.
Отметим, что при S=2 для получения обратного кода отрицательного числа в знаковый разряд нужно записать единицу, а каждую цифру в записи числа заменить на ее дополнение до S-1, т. е. единицу заменить на нуль, а нуль на единицу.
Пример:
Записать числа в обратном коде:
=0,110101 =0 110101
= – 101,1101
=1 0100010.
Пример:
Записать числа в дополнительном
коле:
=0,110101 =0 110101
= – 101,1101 =1 0100011
Из приведенных примеров следует, что положительные числа в прямом, обратном и дополнительном кодах совпадают. В прямом и обратном коде нуль имеет два представления – «положительный» и «отрицательный» нуль. В дополнительном коде нуль имеет только одно, «положительное», представление.
Отметим,
что при представлении с
Таким образом, используя обратный и дополнительный коды, операцию алгебраического сложения можно свести к арифметическому сложению кодов чисел, которое распространяется и на разряды знаков, которые рассматриваются как разряды целой части числа.
Рассмотрим сначала использование обратного кода для алгебраического сложения n – разрядных двоичных чисел R и Q , когда оба они или одно из них отрицательно. Будем считать, что модуль их алгебраической суммы меньше единицы и единица переноса из разряда знака прибавляется к младшему разряду получившейся суммы.
Пусть, например, ( обозначим ) и ( обозначим ).Считаем, - 1 0. Тогда в соответствии с можно записать
.
В связи с тем, что возникает перенос из знакового разряда, одна двойка пропадает и добавляется единица переноса к младшему разряду суммы :
.
Таким образом, сложение с переносом единицы знакового разряда двух отрицательных чисел в обратном коде дает обратный код их алгебраической суммы.
Рассмотрим алгебраическую сумму чисел ( обозначим ) и . Можем записать
.
Если , то и возникает перенос из разряда знака. В этом случае имеем
.
Если же ,то и переноса не возникает; получаем
.
Мы получили, что сложение чисел с использованием обратных кодов с циклическим переносом приводит к получению алгебраической суммы в прямом коде, если сумма положительна, и в обратном коде, если сумма отрицательна.
Аналогично
при использовании
Таким образом, применение обратного и дополнительного кодов дает возможность операцию алгебраического сложения свести к операции арифметического сложения. Однако нами рассмотрен случай, когда модуль полученной суммы меньше единицы. В общем случае при сложении двух чисел, модуль которых меньше единицы, модуль суммы может оказаться больше или равен единице ( так называемое переполнение разрядной сетки мантиссы ).
Для
обнаружения такого переполнения, учитывая,
что модуль суммы двух таких чисел
меньше двух, используют один дополнительный
разряд. Код ( прямой, дополнительный, обратный
), в котором имеется такой
Пример: Сложить и
Прямой модифицированный код 00 11011.
Обратный модифицированный код 11 11010.
+ 00 11011
11 11010
1 00 10101
1
00 10110 = .
Пример: Сложить и
11 01010
11 00111.
+ 11 01010
11 00111
(1) 10 10001
=10 10001
Переполнение разрядной сетки.
Таким
образом, разрядные сетки в
Итак, в общем случае сложение и вычитание в машинах с плавающей запятой состоит из следующих этапов:
1.Сравнение порядков чисел.
2.Выравнивание порядков чисел.
3.Перевод мантисс слагаемых в обратный или дополнительный модифицированные коды.
4.Сложение
мантисс в прямом, обратном или
дополнительном
5.Исправление нормализации вправо или влево.
6.Перевод мантиссы результата в прямой код.
7.Выдача результата с учетом порядка.
Пример. Сложить два числа, представленные в форме с плавающей запятой.
R=0 011 1 111010001
Q=0 101 1 110101101,
где в первой позиции записи – знак порядка, в следующих трех – модуль порядка, затем следует знаковый разряд мантиссы и модуль мантиссы, т. е.
R=–0.111010001*
Q=–0.110101101*
а) Сравнение порядков. Из большего порядка вычитаем меньший:
и
.
б) Выравнивание порядков. Сдвигаем мантиссу числа R на на (2) разрядов вправо и присваиваем ему порядок :
R=0 101 1 001110100.
в) Переводим мантиссы в модифицированный обратный код:
=11 110001011
=11 001010010
г) Складываем мантиссы:
11 110001011
11 001010010
1 10 111011101
110 111011110
д) Несовпадение цифр в знаковом и контрольном разрядах указывает на нарушение нормализации влево. Сдвигаем мантиссу вправо на один разряд и соответственно увеличиваем порядок.
Получаем: мантисса 11 011101111; порядок 110.
е) Перевод мантиссы в прямой код:
ж) Результат R+Q=0 110 1 100010000, т. е. R+Q= .
Список
используемой литературы: