Автор работы: Пользователь скрыл имя, 16 Декабря 2010 в 21:28, курсовая работа
Наиболее совершенным принципом представления чисел является позиционный ( поместный ) принцип, согласно которому один и тот же числовой знак ( цифра ) имеет различные значения в зависимости от места, где он расположен. Такая система счисления основывается на том, что некоторое число n единиц ( основание системы счисления ) объединяются в одну единицу второго разряда, n единиц второго разряда объединяются в одну единицу третьего разряда и т. д. Основанием систем счисления может быть любое число, больше единицы. К числу таких систем относится современная десятичная система счисления ( с основанием n=10 ). В ней для обозначения первых десяти чисел служат цифры 0,1,…,9.
1.История развития систем счисления. 2
2.Двоичные системы счисления 6
3.Двоичная арифметика 10
4.Формы представления чисел с фиксированной и плавающей запятой. 13
5.Сложение чисел с фиксированной запятой. 16
6.Сложение чисел с плавающей запятой. 16
7.Умножение чисел с фиксированной запятой. 17
8.Умножение чисел с плавающей запятой. 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
Из приведенных примеров следует, что положительные числа в прямом, обратном и дополнительном кодах совпадают. В прямом и обратном коде нуль имеет два представления – «положительный» и «отрицательный» нуль. В дополнительном коде нуль имеет только одно, «положительное», представление.
Отметим,
что при представлении с
Таким образом, используя обратный и дополнительный коды, операцию алгебраического сложения можно свести к арифметическому сложению кодов чисел, которое распространяется и на разряды знаков, которые рассматриваются как разряды целой части числа.
Рассмотрим
сначала использование
Пусть, например, ( обозначим ) и ( обозначим ).Считаем, - 1 0. Тогда в соответствии с можно записать
.
В связи с тем, что возникает перенос из знакового разряда, одна двойка пропадает и добавляется единица переноса к младшему разряду суммы :
.
Таким образом, сложение с переносом единицы знакового разряда двух отрицательных чисел в обратном коде дает обратный код их алгебраической суммы.
Рассмотрим алгебраическую сумму чисел ( обозначим ) и . Можем записать
.
Если , то и возникает перенос из разряда знака. В этом случае имеем
.
Если же ,то и переноса не возникает; получаем
.
Мы получили, что сложение чисел с использованием обратных кодов с циклическим переносом приводит к получению алгебраической суммы в прямом коде, если сумма положительна, и в обратном коде, если сумма отрицательна.
Аналогично при использовании дополнительных кодов алгебраическое сложение их, включая разряды знаков, которые рассматриваются как разряды целых единиц, дает, если единица переноса из разряда отбрасывается, следующий результат: если алгебраическая сумма положительна, то результат получается в прямом коде, и в дополнительном коде, если она отрицательна.
Таким образом, применение обратного и дополнительного кодов дает возможность операцию алгебраического сложения свести к операции арифметического сложения. Однако нами рассмотрен случай, когда модуль полученной суммы меньше единицы. В общем случае при сложении двух чисел, модуль которых меньше единицы, модуль суммы может оказаться больше или равен единице ( так называемое переполнение разрядной сетки мантиссы ).
Для обнаружения такого переполнения, учитывая, что модуль суммы двух таких чисел меньше двух, используют один дополнительный разряд. Код ( прямой, дополнительный, обратный ), в котором имеется такой дополнительный разряд, называется модифицированным. В модифицированных кодах этот разряд используется для дублирования знака числа, т. е. знак «плюс» обозначается 00, а «минус» - 11. Правила переноса из разрядов знака остаются прежними в зависимости от того, в каком коде ( обратном или дополнительном ) представлены числа. На переполнение же разрядной сетки, т. е. что модуль суммы , указывает несовпадение цифр в знаковых разрядах. В этом случае комбинации 01 соответствует положительное, а 10 – отрицательное число.
Пример: Сложить и
Прямой модифицированный код 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= .
Список
используемой литературы: