- •Основы компьютерной арифметики и логики
- •Предисловие
- •Глава 4, подготовленная доцентом о.П. Шафеевой, посвящена вопросам разработки алгоритмических моделей выполнения арифметических операций и моделирования на пэвм спроектированных алгоритмов.
- •Основы двоичной компьютерной арифметики
- •1.1. Позиционные системы счисления
- •Десятичная позиционная система счисления
- •Двоичная позиционная система счисления
- •1.1.3. Восьмеричная позиционная система счисления
- •1.1.4. Шестнадцатеричная позиционная система счисления
- •Сложение Вычитание
- •Перевод чисел из одной позиционной системы счисления в другую
- •1.2.1. Перевод целых чисел
- •1.2.2. Перевод правильных дробей
- •1.2.3. Перевод неправильных дробей из одной системы счисления в другую
- •1.2.4. Частный случай перевода чисел из одной системы счисления в другую
- •1.2.5. Перевод чисел из одной системы счисления в другую с использованием промежуточной двоично-десятичной системы
- •1.3. Представление чисел с фиксированной запятой (точкой)
- •1.4. Представление чисел с плавающей запятой (точкой)
- •1.5. Коды двоичных чисел
- •1.5.1. Прямой код
- •1.5.2. Обратный код
- •1.5.3. Модифицированный обратный код
- •1.5.4. Дополнительный код
- •2.1.1. Алгебраическое сложение чисел в дополнительном коде
- •2.1.2. Алгебраическое сложение чисел в обратном коде
- •2.1.3. Переполнение разрядной сетки при сложении чисел
- •2.2. Сложение (вычитание) двоичных чисел с плавающей запятой
- •2.2.1. Метод ускоренного сложения двоичных чисел с запоминанием переносов
- •2.3. Умножение двоичных чисел с фиксированной запятой
- •2.4. Машинные технологии выполнения операции умножения двоичных чисел с фиксированной запятой
- •2.5. Умножение двоичных чисел с плавающей запятой
- •2.6. Методы ускоренного выполнения операции умножения двоичных чисел
- •2.6.1. Метод пропуска такта суммирования
- •2.6.2. Метод анализа сомножителей
- •2.6.3. Метод расшифровки и одновременного умножения на два разряда множителя
- •2.6.4. Метод ускоренного умножения Мак-Сорли
- •2.6.5. Метод ускоренного умножения Лемана
- •2.6.6. Метод умножения с расшифровкой пар разрядов множителя и запоминанием переносов
- •2.7. Деление двоичных чисел с фиксированной запятой
- •2.8. Деление двоичных чисел с плавающей запятой
- •3. Основы десятичной компьютерной арифметики
- •3.1. Машинное кодирование десятичных чисел
- •3.2. Выполнение арифметических операций с десятичными числами
- •3.2.1. Сложение десятичных чисел в эвм
- •3.2.2. Умножение десятичных чисел в эвм
- •3.2.3. Ускорение умножения в -кодах
- •Деление десятичных чисел в эвм
- •4.2. Моделирование алгоритма сложения двоичных чисел
- •Различные случаи ненормализованных мантисс
- •4.3. Проектирование алгоритма умножения чисел
- •4.5. Проектирование алгоритма деления чисел
- •4.7. Разработка алгоритма вычисления квадратного корня
- •Определение 1. Пусть и произвольные множества. Соответствием называется тройка множеств
- •Свойства отношений
- •Эквивалентность
- •Толерантность
- •Отношения порядка
- •Самодвойственные функции
- •Монотонные функции
- •Линейные функции
- •Функции, сохраняющие константу
- •5.2.7. Минимизация булевых функций
- •Метод Блейка
- •Метод Квайна-Мак-Класки
- •Минимизация с использованием карт Карно
- •Дана функция четырех переменных (рис. 5.13):
- •Минимизация не полностью определенных булевых функций
- •Минимизация систем булевых функций
- •5.3. Методика синтеза комбинационных схем на логических элементах
- •5.3.1. Логические элементы
- •5.3.2. Общий алгоритм построения комбинационных схем
- •5.3.3. Синтез кс в классическом базисе
- •5.3.4. Синтез кс в базисах «и-не», «или-не»
- •5.3.5. Реализация кс в базисе Жегалкина
- •5.3.6. Синтез составных кс
- •Заключение
- •Библиографический список к главам 1, 2, 3, 4
- •Библиографический список к главе 5
2.1.2. Алгебраическое сложение чисел в обратном коде
Обратные коды чисел суммируются так же, как и дополнительные, поразрядно по правилам двоичной арифметики, при этом знаковые разряды складываются по тем же правилам, как будто они являются разрядами целых чисел. Единица переноса, если она образуется, при сложении знаковых разрядов прибавляется к младшему разряду суммы кодов. Данное правило относится и к модифицированному обратному коду.
При выполнении условия, что слагаемые и их сумма - сложение чисел в обратном (модифицированном обратном) коде дает сумму в обратном (модифицированном обратном) коде.
Пример.
Пусть требуется найти сумму двух чисел и в обратном коде, при оговоренных выше условиях и при этом .
X = – 0,110001 [X]ob = 1,001110
+ Y = – 0,001001 + [Y]ob = 1,110110
+
[X+Y]np= 1,110110 1
[X+Y]ob = 1,000101
[X+Y]np = 1,111010
Пусть X > 0; Y < 0; (X+Y) > 0. Найти сумму в дополнительном коде.
X = + 0,111001 [X]ob = 0,111001
Y = − 0,010101 [Y]ob = 1,101110
+
[X+Y]np = 0,100100 1
[X+Y]ob = 0,100100
[X+Y]np = 0,100100
2.1.3. Переполнение разрядной сетки при сложении чисел
Выше указывалось, что при сложении двух правильных дробей с одинаковыми знаками может произойти переполнение разрядной сетки, если модуль их суммы оказывается равен или больше единицы.
Формальным признаком переполнения разрядной сетки при сложении чисел в обратном или дополнительном коде является отличие знака суммы кодов от знаков кодов слагаемых.
Пример.
Пусть , а . Произведем сложение в обратном коде.
X = – 0,110010 [X]ob = 1,001101
+ Y = – 0,011111 + [Y]ob = 1,100000
+
X+Y=– 1,010001 10,101101
[X+Y]>1 1
0,101110
Прямого кода для такой В результате сложения обратных кодов
суммы не существует. отрицательных чисел получен код по-
ложительного числа. Это говорит о не-
правильности результата, т.е. о пере-
полнении разрядной сетки.
Признаком переполнения разрядной сетки при сложении чисел в модифицированном обратном или в модифицированном дополнительном коде является образование различных цифр в знаковых разрядах суммы: 01 вместо 00 при сложении двух положительных правильных дробей или 10 вместо 11 при сложении двух отрицательных правильных дробей.
Пример.
Пусть , а . Произведем сложение в модифицированном дополнительном коде.
X = – 0,111001 [X] = 11,000111
+ Y = – 0,110100 + [Y] = 1,100000
X+Y=– 1,101101 1 10,010011
[X+Y]>1 не учитывается
10,010011
Модифицированного В результате сложения модифицированных
дополнительного кода дополнительных кодов двух отрицательных
для такой суммы чисел получен код, у которого в знаковых
не существует разрядах разные цифры. Это говорит о не-
правильности результата, т.е. о переполнении разрядной сетки.