- •Арифметические и логические основы вычислительной техники учебное пособие
 - •Введение
 - •Арифметические основы вычислительной техники Системы счисления
 - •Двоичная система счисления
 - •Восьмеричная система счисления
 - •Шестнадцатеричная система счисления
 - •Критерии выбора системы счисления
 - •Перевод чисел из одной системы счисления в другую
 - •Перевод целых чисел
 - •Перевод правильных дробей
 - •Перевод чисел из одной системы счисления в другую, основание которой кратно степени 2
 - •Кодирование чисел
 - •Переполнение разрядной сетки
 - •Модифицированные коды
 - •Машинные формы представления чисел
 - •Погрешность выполнения арифметических операций
 - •Округление
 - •Нормализация чисел
 - •Последовательное и параллельное сложение чисел
 - •Сложение чисел с плавающей запятой
 - •Машинные методы умножения чисел в прямых кодах
 - •Ускорение операции умножения
 - •Умножение с хранением переносов
 - •Умножение на два разряда множителя одновременно
 - •Умножение на четыре разряда одновременно
 - •Умножение в дополнительных кодах
 - •Умножение на два разряда множителя в дополнительных кодах
 - •Матричные методы умножения
 - •Машинные методы деления
 - •Деление чисел в прямых кодах
 - •Деление чисел в дополнительных кодах
 - •Методы ускорения деления
 - •Двоично-десятичные коды
 - •Суммирование чисел с одинаковыми знаками в bcd-коде
 - •Суммирование чисел с разными знаками в bcd-коде
 - •Система счисления в остаточных классах (сок)
 - •Представление отрицательных чисел в сок
 - •Контроль работы цифрового автомата
 - •Некоторые понятия теории кодирования
 - •Обнаружение и исправление одиночных ошибок путем использования дополнительных разрядов
 - •Коды Хемминга
 - •Логические основы вычислительной техники Двоичные переменные и булевы функции
 - •Способы задания булевых функций
 - •Основные понятия алгебры логики
 - •Основные законы алгебры логики
 - •Формы представления функций алгебры логики
 - •Системы функций алгебры логики
 - •Минимизация фал
 - •Метод Квайна
 - •Метод Блейка - Порецкого
 - •Метод минимизирующих карт Карно (Вейча)
 - •Б в Рис. 19. Таблица истинности и карта Карно
 - •Минимизация конъюнктивных нормальных форм
 - •Минимизация не полностью определенных фал
 - •Кубическое задание функций алгебры логики
 - •Метод Квайна −Мак-Класки
 - •Алгоритм извлечения (Рота)
 - •Нахождение множества простых импликант
 - •Определение l-экстремалей
 - •Минимизация фал методом преобразования логических выражений
 - •Применение правил и законов алгебры логики к синтезу некоторых цифровых устройств Синтез одноразрядного полного комбинационного сумматора
 - •Синтез одноразрядного комбинационного полусумматора
 - •Синтез одноразрядного полного комбинационного сумматора на двух полусумматорах
 - •Синтез одноразрядного комбинационного вычитателя
 - •Объединенная схема одноразрядного комбинационного сумматора-вычитателя
 - •Триггер со счетным входом как полный одноразрядный сумматор
 - •Введение в теорию конечных автоматов Основные понятия теории автоматов
 - •Способы задания автоматов
 - •Структурный автомат
 - •Память автомата
 - •Канонический метод структурного синтеза автоматов
 - •Принцип микропрограммного управления
 - •Граф-схема алгоритма
 - •Пример синтеза мпа по гса
 - •Синтез мпа Мили по гса
 - •Синхронизация автоматов
 - •Литература
 - •220013, Минск, п.Бровки, 6
 
Перевод чисел из одной системы счисления в другую, основание которой кратно степени 2
К таким системам относятся двоичная, четверичная, восьмеричная и т.д. системы счисления.
A8 = 
.
 
Ограничимся тремя восьмеричными разрядами, придавая i значения 0,1,2.
            
+
             (младшая  восьмеричная цифра с
весом 80 )
 +
+
            
 +
            
При переводе числа из двоичной системы счисления в восьмеричную необходимо разделить его разряды на триады, начиная с младших разрядов, и каждую триаду заменить восьмеричной цифрой.
П
ример:
     А8 = 45         А2=  0010 0101
100 101 = А2 2 5 = А16
Кодирование чисел
Кодирование знака числа. Кодирование чисел позволяет заменить операцию арифметического вычитания операцией алгебраического сложения с помощью двоичного сумматора. Для кодирования знака числа используется специальный двоичный разряд, называемый знаковым. При этом знак плюс кодируется двоичной цифрой 0, а минус – цифрой 1 (для системы счисления с основанием r – цифрой r-1). Для машинного представления отрицательных чисел используют три основных вида кодов: прямой, обратный и дополнительный. Общая схема кода числа: код знака . код числа.
Прямой код числа. При этом способе кодирования чисел кодируется только знак числа, а значащая часть остается без изменения.

Пример: A=+0,1101 A= - 0,1101
[A]пр=0,1101 [A]пр=1,1101

Пример: A = + 1101 A = - 1101
[A]пр=0.1101 [A]пр=1.1101
Диапазон изменения машинных изображений
для прямого кода лежит в пределах: 
-(1-2-n)
[A]пр
(1-2-n).
Недостатком прямого кода является сложность выполнения операции сложения чисел с разными знаками.
Для арифметических операций над числами в прямом коде используется сумматор прямого кода. В этом сумматоре отсутствует цепь поразрядного переноса между старшим значащим и знаковым разрядами, то есть на этом сумматоре невозможно выполнение операции алгебраического сложения.
Дополнительный код числа. Число А' называется дополнением к числу А, если выполняется соотношение: А + А = rn для целых чисел или А + А'=r0 для дробных чисел, где n – количество цифр в записи числа A.
Пример: A10 =378
n=3
A10' =103 – А10=1000 - 378=622
378
621 - все разряды дополняются до младшей цифры системы счисления
 
  1  - младший разряд дополняется до
основания системы счисления
1000
n=4
              А2
=1011,
A2
'=24
- А=10000 - 1011 = 0101,   или  А2'
= 0101
Замена операции вычитания операцией сложения. В ЭВМ достаточно сложно выполнить операцию вычитания (А-В). Для этого требуется:
- 
сравнить числа и выявить наибольшее из них по абсолютной величине;
 - 
наибольшее число разместить на входах вычитающего устройства;
 - 
выполнить операцию вычитания;
 - 
присвоить значению разности знак наибольшего по абсолютной величи-
 
не числа.
Для сложения чисел в дополнительных кодах требуется сумматор и неважно, какие слагаемые подаются на его входы А или В. Пусть необходимо сложить
А = 487 А = 487
В = -348 В = 652
А-В = 139 А-В = 1 139
А + (103 – В) = А-В+103 (103 игнорируется).
А = 348 А = 348
В = -487 В = 513
А-В = -139 А-В = 861
Дополнительный код отрицательных чисел является математическим дополнением абсолютной величины числа до основания r системы счисления для дробных чисел и до rn для целых чисел.
	
- для дробных чисел,     
 - для целых чисел,
где 
- абсолютное значение числа А, n
– число цифр числа. 
Положительные числа в дополнительном коде не меняют своего изображения. Правило преобразования числа в дополнительный код можно записать:
	

Рассмотрим несколько примеров сложения чисел в дополнительных кодах.
А= 0,1001 [A]доп = 0,1001 А= - 0,1001 [A]доп = 1,0111
В= - 0,0100 [B]доп = 1,1100 В= 0,0100 [B]доп = 0,0100
10,0101 1,1011
Теорема. Сумма дополнительных кодов чисел есть дополнительный код результата.
Доказательство теоремы приведено в [1].
Теорема справедлива для всех случаев, в которых не возникает переполнения разрядной сетки, что позволяет складывать машинные представления чисел по правилам двоичной арифметики, не разделяя знаковую и значащую части числа. Для выполнения арифметических операций над числами в дополнительном коде используется двоичный сумматор дополнительного кода, характерной особенностью которого является наличие поразрядного переноса из старшего значащего в знаковый разряд.
Обратный код числа. Обратный код двоичного числа является инверсным изображением числа, в котором все разряды исходного числа принимают инверсное (обратное) значение. Правила преобразования чисел в обратный код аналитически можно определить следующим образом:
	
,
.
Выполнение арифметических операций над числами в обратном коде осуществляется на сумматоре обратного кода. Этот код имеет несущественный недостаток: требует наличия в сумматоре цепи циклического переноса из знакового разряда в младший значащий. Это может привести к увеличению времени выполнения арифметических операций. Ниже приведены несколько примеров выполнения арифметических операций над числами, записанными в обратном коде.
А= 0,1001 [A]обр = 0,1001 А= - 0,1001 [A]обр = 1,0110
В= - 0,0100 [B]обр = 1,1011 В= 0,0100 [B]обр = 0,0100
 
                                                10,0100
                                                1,1010
 
                                                           1
0,0101
Теорема. Сумма обратных кодов чисел есть обратный код результата.
Доказательство теоремы приведено в [1].
