- •Министерство образования и науки украины
- •Содержание
- •Требования по оформлению контрольной работы
- •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 Контрольное задание
6.2 Представление отрицательных чисел
Одним из способов выполнения операций с помощью двоичного сумматора, является замена операции вычитания операцией суммы с обратным или дополнительным кодом отрицательного числа:
А – В = А + (-В)обр.
Замена вычитания сложением ставит проблему представления отрицательного числа в цифровом формате.
Один метод мы уже рассмотрели. Он использует прямой код числа , где машинное изображениеиспользует 1 (или 11) для обозначения «-».
Итак, прямой код отрицательного числа есть код, все цифровые разряды которого остаются неизменными, записанными в нормализованной форме, а в знаковой части числа записывается "1"(или 11 для модифицированного кода ).
Например: N = - 0,101110 то NM = 1.101110.
Положительное число в прямом коде не меняет своего изображения.
Например: N= 0,110101 то NM= 0.110101
В прямом коде в числовую сетку автомата можно записать , где n – количество разрядов. А диапазон чисел,для прямого кода, лежит в пределах 6.1
– (1 – 2-n) NM (1 – 2-n). 6.1
Вторым методом представления отрицательных чисел есть представление их в обратном или дополнительном коде.
7 Коды бинарных чисел
7.1 Обратный код числа
Обратным кодом числа NM = 1, a1, a2,…, an называется такое машинное изображение числа, для которого ai = 0, если оно равнялось "1" и наоборот, аi = 1, если оно равнялось "0".
Иначе, обратным кодом двоичного числа является инверсное изображение этого числа, т.е. все разряды исходного бинарного числа, принимают обратное значение.
Например: N = - 0,101110 то No6 = 1,010001.
Обобщая правила образования обратного кода на все основания систем счисления можно считать, что обратный код отрицательного числа получается при вычитании из (q-1) цифр по каждому разряду числа за исключением знаковых разрядов, которые заменяются значением (q-1) т. е.
Например: -0,286357(10)пр=9,713642(10)обр
-0,1010111101(2)пр=1,0101000010(2)обр
Особо обратить внимание.
Если в знаковом разряде машинного представления находится (q-1), то все цифры числа, исключая знаковый, заменяются вычетом из (q-1) значения разряда; если в знаковом разряде находится нуль, то преобразование не производятся.
Ниже приведены примеры для различных систем счисления:
7.1.1 Переход от обратного кода к прямому
Переход от обратного кода к прямому производится по аналогичному правилу. Из значения (q-1) вычитается значение по каждому разряду, кроме знаковых. Для бинарной системы счисления (просто счастливый случай), можно перейти к прямому коду простым инвертированием разрядов обратного кода, кроме разрядов знаков.
7.2 Дополнительный код числа
Дополнительный код числа N= – 0,a1a2..an –такое машинное представление , в котором число записывается обратным кодомс прибавлением в младшем разряде 1.
Правило перевода из прямого кода в дополнительный код следующее:
-если в знаковом разряде находится (q -1), то все цифры числа, кроме разрядов знаков, заменяются вычетами из (q-1) значения разряда, а затем к цифре последнего младшего разряда добавляется единица;
-если в знаковом разряде находится 0 (или 00), то преобразование цифр не происходит.
Например:
9.243476(10)пр = 9.756523обр. + 0000001 = 9.756524(10)доп
1.0111000111(2)пр = 1.1000111000обр. + 0.0000000001 = 1.1000111001(2)доп
–0,101110 = 1.101110 = 1.010001 + 0.000001 = 1.010010
0.425736пр = 0.425736доп
Таким образом, для положительных чисел прямой и дополнительный код совпадают, для отрицательного числа они различны. Для положительного числа, в разряде знака всегда устанавливают нуль(или 00), а отрицательного (q-1).
Обобщая, получаем математическую формулу перевода чисел в дополнительный код.
Отсюда Nдоп = q + (-N), т.е. дополнительный код является математическим дополнением числа до основания системы счисления.
Пример: 0,275936(10)пр = 0,275936(10)доп
Пример: –0,275936(10)пр=10,000000(10)+(–0,275936(10)доп) = 9,724064(10)доп