- •Регистры общего назначения и их особенности у Intel
- •Команда. Формат команды. Классификация команд. Особенности формата команд Intel
- •Информационная система. Информация. История развития компьютера
- •3 История компьютера
- •Позиционные системы счисления. Перевод чисел из одной системы счисления в другую.
- •Системы счисления, используемые в компьютерах
- •Перевод чисел из одной системы счисления в другую.
- •Арифметика эвм. Представление чисел в форме с фиксированной точкой.
- •Сложение в формате с фиксированной точкой. Переполнение.
- •Операция вычитания с фиксированной точкой. Дополнительный код числа.
- •Представление чисел в формате с плавающей точкой. Мантисса и характеристика числа.
- •Нормализованные и денормализованные числа. Погрешность представления числа.
- •Погрешность представления числа:
- •Арифметические операции в формате с плавающей точкой.
- •Стандарт ieee 754.
- •ФорматBcd. Представление текстовой информации ascii
- •Алгебра логики. Переменные и константы алгебры логики
- •Законы и аксиомы алгебры логики. Логические функции
- •Конъюнкция. Дизъюнкция. Инверсия. Функционально полная система лф. Функции и-не, или-не. Исключающее или.
- •Формы представления лф. Таблица истинности. Сднф и скнф. Переход от одной формы к другой.
- •Преобразование логических выражений. Склеивание. Минимизация логических функций.
- •Логический элемент. Логическая комбинационная схема. Лэ как физическое устройство.
- •Обратная связь. Бистабильная ячейка–триггер. Rs-триггер. D-триггер. Т-триггер.
- •Синхронный триггер. Понятие о синхронизации
- •Узлы эвм. Регистры. Счетчики. Сумматоры. Шифраторы и дешифраторы. Мультиплексоры. Алу.
Операция вычитания с фиксированной точкой. Дополнительный код числа.
Таблица вычитания
Очень часто в
вычислениях должны использоваться не
только положительные, но и отрицательные
числа.
Число со знаком в вычислительной
технике представляется путем представления
старшего разряда числа в качестве
знакового. Принято считать, что 0 в
знаковом разряде означает знак «плюс»
для данного числа, а 1 – знак
«минус».
Выполнение
арифметических операций над числами с
разными знаками
представляется для аппаратной части
довольно
сложной процедурой.
В этом случае нужно определить большее
по модулю число, произвести вычитание
и присвоить разности знак большего по
модулю числа.
Применение дополнительного кода позволяет выполнить операцию алгебраического суммирования и вычитания на обычном сумматоре. При этом не требуется определения модуля и знака числа.
Прямой код представляет собой одинаковое представление значимой части числа для положительных и отрицательных чисел и отличается только знаковым битом. В прямом коде число 0 имеет два представления «+0» и «–0».
Обратный код для положительных чисел имеет тот же вид, что и прямой код, а для отрицательных чисел образуется из прямого кода положительного числа путем инвертирования всех значащих разрядов прямого кода. В обратном коде число 0 также имеет два представления «+0» и «–0».
Дополнительный код для положительных чисел имеет тот же вид, что и прямой код, а для отрицательных чисел образуется путем прибавления 1 к обратному коду. Добавление 1 к обратному коду числа 0 дает единое представление числа 0 в дополнительном коде. Однако это приводит к асимметрии диапазонов представления чисел относительно нуля. Так, в восьмиразрядном представлении диапазон изменения чисел с учетом знака.
-128 <= x <= 127.
Таблица прямого, обратного и дополнительного кода 4-битных чисел.
Число |
Прямой код |
Обратный код |
Дополнительный код |
-8 |
- |
- |
1000 |
-7 |
1111 |
1000 |
1001 |
-6 |
1110 |
1001 |
1010 |
-5 |
1101 |
1010 |
1011 |
-4 |
1100 |
1011 |
1100 |
-3 |
1011 |
1100 |
1101 |
-2 |
1010 |
1101 |
1110 |
-1 |
1001 |
1110 |
1111 |
00 |
1000 0000 |
1111 0000 |
0000 |
1 |
0001 |
0001 |
0001 |
2 |
0010 |
0010 |
0010 |
3 |
0011 |
0011 |
0011 |
4 |
0100 |
0100 |
0100 |
5 |
0101 |
0101 |
0101 |
6 |
0110 |
0110 |
0110 |
7 |
0111 |
0111 |
0111 |
Сложение и вычитание чисел со знаком в дополнительном коде
Числа складываются в дополнительном коде, а потом, если возникло знаковое переполнение, оно прибавляется к полученному числу. Результат нужно инвертировать, Результат будет положительным числом.
Если знакового переполнения не возникло – результат будет отрицательным, инвертировать его не нужно.
