
- •Министерство образования и науки украины
- •Содержание
- •Требования по оформлению контрольной работы
- •1 Вопросы для проверки уровня знаний основ компьютерной арифметики
- •2 Перечень технической литературы
- •3Cистемы счисления компьютерной арифметики
- •3.1 Представление чисел в позиционных системах счисления
- •3.2 Выбор системы счисления компьютера
- •4 Методы перевода чисел из одной позиционной системы счисления в другую
- •4.1 Методы перевода целых чисел
- •4.1.1 Метод подбора коэффициентов
- •4.1.2 Метод перевода делением на основание новой системы
- •4.1.3 Метод перевода чисел делением на основание в положительной степени
- •4.2 Перевод правильных дробей умножением на основание системы
- •4.3 Перевод неправильных дробей
- •4.4 Перевод чисел из 16-и и 8-ричных систем в двоичную и обратно
- •5 Форматы представления чисел в компьютере
- •5.1 Представления чисел с фиксированной запятой
- •5.2 Представление чисел в формате с плавающей запятой
- •5.3 Погрешности представления чисел
- •5.3.1 Абсолютная погрешность представления чисел
- •5.3.2 Относительная погрешность представления числа
- •6 Бинарная арифметика
- •6 1 Формальные правила двоичной арифметики
- •6.2 Представление отрицательных чисел
- •7 Коды бинарных чисел
- •7.1 Обратный код числа
- •7.1.1 Переход от обратного кода к прямому
- •7.2 Дополнительный код числа
- •7.3 Сложение чисел, представленных в форме с фиксированной запятой, на двоичном сумматоре прямого кода
- •8 Алгебраическое сложение бинарных чисел
- •8.1Cложение чисел на двоичном сумматоре дополнительного кода
- •8.2 Сложение чисел на сумматоре обратного кода
- •9 Модифицированные бинарные коды
- •9.2 Модифицированное сложение чисел в формате с плавающей точкой
- •10 Сложение чисел при разных значениях порядков
- •10.1 Алгоритм операции сложения в формате с плавающей точкой
- •11 Умножение двоичных чисел
- •11.1 Методы умножения бинарных чисел
- •11.2 Умножение чисел с фиксированной запятой на дспк
- •11.3 Умножение чисел с плавающей запятой
- •12 Умножение чисел на дсдк
- •12.1 Умножение чисел на дсдк при положительном множителе
- •12.2 Умножение чисел на дсдк при отрицательном множителе
- •13. Деление бинарных чисел
- •13.1 Метод деления бинарных чисел
- •13.1.1 Общий алгоритм деления чисел с восстановлением остатка
- •13.2 Деление чисел с фиксированной запятой с восстановлением остатка
- •14 Деление чисел с фиксированной запятой без восстановления остатка
- •14.1 Алгоритм деления без восстановления остатка
- •14.2 Деление чисел с плавающей запятой
- •15 Контрольное задание
7.3 Сложение чисел, представленных в форме с фиксированной запятой, на двоичном сумматоре прямого кода
Двоичным
сумматором прямого кода (ДСПК) называется
сумматор, в котором отсутствует цепь
поразрядного переноса между старшим
цифровым и знаковым разрядами (рисунок7.3).На
сумматорах прямого кода можно складывать
только числа, имеющие одинаковые знаки,
а результат сложения <
1
, т.е. такой сумматор не выполняет операцию
алгебраического сложения, переполнение
старшего n-разряда служит лишь для
индикации факта, что оно было, перекладывая
дальнейшие заботы на пользователя, а
знак определяется по знаку любого
операнда, например SqA.
Пусть заданы операнды:
Где SqA, SqB содержание знаковых разрядов. Если SqA = SqВ, то сумма чисел будет иметь знак любого из слагаемых, а цифровая часть получится поразрядным сложением операндов.
Пример. Сложить А=0,1011; В = 0,0100 .Здесь SqA = 0 ; SqB = 0
Сложить A = –0,0101; B = –0,1001. Здесь SqA = 1 ; SqB = 1
При сложении чисел на ДСПК возможны случаи, когда абсолютное значение суммы операндов превышает единицу, т.е. имеет место переполнения разрядной сетки автомата.
Признаком переполнения = 1 будет наличие единицы переноса из старшего разряда цифровой части сумматора. По этому сигналу должен происходить автоматический останов счета и корректировка масштабных коэффициентов с таким расчетом, чтобы избежать переполнения.
8 Алгебраическое сложение бинарных чисел
8.1Cложение чисел на двоичном сумматоре дополнительного кода
Двоичным сумматором дополнительного кода (ДСДК) называется, сумматор оперирующий числами, представленными в дополнительном коде.
Основной
особенностью ДСДК является наличие
цепи переноса 1 переполнения из старшего
разряда цифровой части в знаковый разряд
(рисунок 8.1), и отсутствие обратной связи
переноса 1 переполнения из знакового
разряда в самый младший разряд числа.
Для определения правил сложения чисел в ДСДК необходимо рассмотреть следующую теорему.
Теорема: Если результат суммы дополнительных кодов чисел отрицательный, то результат представлен в дополнительном коде. Если результат суммы дополнительных кодов чисел положительный, то результат представлен в прямом коде.
При доказательстве теоремы, предполагаем, что числа представлены в форме с фиксированной запятой, стоящей перед старшим разрядом. Рассмотрим следующие случаи:
1. A>0, B>0, а A + B<1 числа положительные и нет переполнения. Для этого случая Aдоп = А, Вдоп = В , то Адоп + Вдоп = А + В = [A + B]доп – результат положительный. Покажем это на примере: А = 0,1010; В = 0,0100
Спр.=0.1110
A<0, B>0, а |A|B. Для этого случая Адоп = q + |-A|, Вдоп = В тогда Адоп+Вдоп = =q + |A| + B = [A + B]доп – результат отрицательный.
А = – 0,1011; В = 0,0100
Результат получен отрицательный, это значит, что он представлен в дополнительном коде, и его необходимо перевести в прямой, чтобы получить истинный результат. Перевод числа из дополнительного кода в прямой осуществляем по следующему алгоритму: -все разряды числа (кроме знаковых) инвертируем (т. е. берется обратный код результата) и в младший разряд добавляется +1. Знак сохраняется.
3 A<0, B>0, а |A|<B. для этого случая Адоп = q + |A|, Вдоп = В тогда Адоп + + Вдоп = q + |A| + B. Так как значение этой суммы больше q, то появляется единица переноса в знаковый разряд, что равносильно изъятию из суммы q единиц, т.е. результат равен:
Адоп + Вдоп = А + В=Спр.
Пример. А = -0,0100; В = 0,1011.
A<0, B<0, а |A + B|<1. для этого случая Адоп = q +(-А) Вдоп = q +(-В), тогда Адоп + Вдоп = q +(-A) + q +(-B) = [A + B]доп – результат отрицательный и появится единица переноса из знакового разряда. Пример. . А = – 0,0100; В = – 0,1011.
Заключение. Теорема справедлива для всех случаев, в которых не возникает переполнение разрядной сетки, что позволяет складывать машинные изображения чисел по правилам двоичной арифметики.