- •Основы компьютерной арифметики и логики
- •Предисловие
- •Глава 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
Предисловие
В учебных планах подготовки дипломированных специалистов по специальности 220100 – «Вычислительные машины, комплексы, системы и сети» и направлению 552800 – «Информатика и вычислительная техника» дисциплины «Дискретная математика», «Введение в информатику и вычислительную технику», «Алгоритмические языки и программирование» входят в состав фундаментального цикла дисциплин, формирующих у студентов представление о базовых понятиях информатики и вычислительной техники как о предмете их дальнейшей профессиональной деятельности. Изучение указанных дисциплин и овладение навыками разработки и моделирования алгоритмов реализации арифметических и логических компьютерных операций, синтеза логических схем создает теоретическую базу для изложения таких дисциплин, как «Теория автоматов», «Организация ЭВМ и систем», «Микропроцессорные системы» и других специальных курсов.
В главах 1, 2, 3, подготовленных профессором В.И. Потаповым, изложены основы двоичной и десятичной компьютерной арифметики, алгоритмы выполнения арифметических операций в ЭВМ для двоичных чисел с фиксированной и плавающей запятой (точкой) и для двоично-десятичных чисел в D-кодах. Рассмотрены многочисленные методы ускоренного выполнения арифметических операций в ЭВМ в двоичной и в двоично-десятичной системе счисления.
Глава 4, подготовленная доцентом о.П. Шафеевой, посвящена вопросам разработки алгоритмических моделей выполнения арифметических операций и моделирования на пэвм спроектированных алгоритмов.
В главе 5, подготовленной доцентом И.В. Червенчуком, рассматриваются фундаментальные вопросы математической логики и задачи синтеза комбинационных схем на логических элементах, а также свойства булевых функций и вопросы их минимизации известными в инженерной практике методами.
Учебное пособие иллюстрировано многочисленными примерами и содержит вопросы для самоконтроля.
Основы двоичной компьютерной арифметики
1.1. Позиционные системы счисления
В современных ЭВМ общего назначения для представления обрабатываемой числовой информации, как правило, используются позиционные системы счисления.
Системой счисления называется совокупность приемов наименования и записи чисел.
Позиционной системой счисления называют такую систему, в которой значение (вес) каждой цифры, образующей число, зависит от ее позиции (местоположения) в числе. То есть одна и та же цифра в зависимости от ее местоположения в числе умножается на различный весовой коэффициент для определения ее истинного значения.
Основанием системы счисления называется количество различных цифр, применяемых в соответствующей позиционной системе счисления, необходимых для изображения любого числа в этой системе.
Так, например, основанием двоичной позиционной системы является число 2, восьмеричной – число 8, десятичной – 10, шестнадцатеричной – 16 и т.д.
Пусть является основанием -ичной позиционной системы счисления. В такой системе используется различных цифр, представляющих последовательные целые числа, начиная с нуля и кончая числом, равным . Любые числа записываются в виде последовательности цифр, в которых целая часть отделена от дробной части запятой (точкой) и каждая последующая (справа налево) цифра имеет весовой коэффициент в раз больше, чем предыдущая.
Если буквами обозначить цифры -ичной позиционной системы счисления, то последовательность цифр
обозначает число
.
Обычно во всех позиционных системах счисления в качестве двух младших цифр используют знаки 0 и 1. При этом основание системы счисления записывается в виде последовательности цифр 10.
Для того, чтобы выполнять произвольные вычислительные операции в любой позиционной системе счисления, необходимо кроме введенных выше понятий уметь пользоваться элементарными арифметическими операциями (сложение, вычитание, умножение и деление) в данной системе счисления.
Основываясь на приведенных определениях, рассмотрим наиболее часто используемые в компьютерной технике и в вычислительной практике позиционные системы счисления: двоичную, восьмеричную, десятичную и шестнадцатеричную. При этом начнем рассмотрение с хорошо всем известной десятичной системы счисления.