- •Часть 1. Исследование систем счисления и методов конвертирования
- •Часть 2. Кодирование данных в микропроцессорной технике
- •Часть 3. Арифметические операции при обработке данных
- •Лабораторная работа №1. Основы машинной арифметики.
- •Часть 1. Исследование систем счисления и методов конвертирования
- •Содержание отчета
- •1. Введение в системы счисления
- •1.1 Общие положения. Классификация систем счисления
- •1.2 Позиционные системы счисления. Полиномиальное представление чисел
- •1.3 Системы счисления, применяемые в микропроцессорной
- •1.4 Некоторые свойства позиционных однородных систем с естественным множеством цифр
- •2. Преобразование чисел из одной системы счисления в другую
- •2.1 Методы конвертирования
- •2.2 Метод подбора
- •2.3 Метод замещения полиномиальных элементов (поэлементное замещение)
- •2.4 Метод, основанный на “схеме Горнера”
- •2.5 Метод “цифра за цифрой”
- •2.5.1 Конверсия целого числа методом “цифра за цифрой”
- •2.5.2 Конверсия дробного числа методом “цифра за цифрой”
- •2.6 Методы, учитывающие специфические соотношения оснований систем счисления
- •2.6.1 Двоично-шестнадцатеричные и шестнадцатерично-двоичные преобразования
- •2.6.2 Двоично-восьмеричные и восьмерично-двоичные преобразования
- •2.7 Методы, использующие промежуточные системы систем счисления
- •Часть 2. Кодирование данных в микропроцессорной технике
- •2. Теоретические основы кодирования чисел
- •3. Обратные коды двоичных чисел.
- •Дополнительные коды числовых данных
- •Часть 3. Арифметические операции при обработке данных
- •1. Предварительные замечания
- •3.1.1. Сложение дробных и целых положительных чисел без переполнения. (Случай 1)
- •3.1.2. Сложение дробных и целых положительных чисел с переполнением (Случай 2)
- •3.1.3. Сложение дробных и целых отрицательных чисел без переполнения (Случай 3)
- •3.1.4. Сложение дробных и целых отрицательных чисел с переполнением (Случай 4)
- •3.1.5. Сложение отрицательных чисел с “особым случаем переполнения”(Случай 5)
- •3.6.Сложение чисел разных знаков
- •3.1.6.1. Модуль положительного операнда больше модуля отрицательного. (Случаи 6, 9)
- •3.1.6.3. Модуль положительного операнда меньше модуля отрицательного (Случаи 7,8).
- •3.1.7 Обнаружение переполнения разрядной сетки в пдк
- •3.2.1. Сложение в обратных кодах дробных и целых отрицательных чисел без переполнения (Случай 3ок)
- •3.1.4. Сложение в обратных кодах дробных и целых отрицательных чисел с переполнением (Случай 4ок)
- •3.1.5. Сложение в обратных кодах отрицательных чисел с “особым случаем переполнением ” при сложении в дополнительных кодах (Случай 5)
- •3.1.6.Сложение в обратных кодах чисел разных знаков
- •3.1.6.1. Модуль положительного операнда больше модуля отрицательного. (Случаи 6, 9)
- •3.4 Обнаружение переполнения разрядной сетки в пок
- •4. Cложение чисел в модифицированных дополнительных кодах (мдк)
- •4.2.1. Сложение дробных и целых положительных чисел без переполнения. (Случай 1)
- •3.2.2. Сложение дробных и целых положительных чисел с переполнением (Случай 2)
- •3.2.3. Сложение дробных и целых отрицательных чисел без переполнения (Случай 3)
- •3.2.4. Сложение дробных и целых отрицательных чисел с переполнением (Случай 4)
- •3.2.5. Сложение целых отрицательных чисел с “особым случаем переполнения”(Случай 5)
- •3.2.6.Сложение чисел разного знака в модифицированных дополнительных кодах
- •3.2.6.1. Модуль положительного операнда больше модуля отрицательного. (Случаи 6,9)
- •3.2.6.3. Модуль положительного операнда меньше модуля отрицательного (Случаи 7,8).
- •4. Обнаружение переполнения разрядной сетки в модифицированных дополнительных кодах
3.2.1. Сложение в обратных кодах дробных и целых отрицательных чисел без переполнения (Случай 3ок)
3.2.1.1. Дробные отрицательные числа. Пусть складываются два отрицательных слагаемых, представленных в форме дробных чисел и таких, что (|A|+|B|)<1. Это означает, что модуль суммы не превосходит максимального числа, представимого в заданной разрядной сетке, т.е. переполнения быть не должно. Так как слагаемые отрицательные числа, то сложение выполняется в обратных кодах, а согласно Процедуре 2 сумма также должна формироваться в обратном коде.
Кроме того, следует ожидать перенос из знакового разряда, который должен быть подсуммирован к младшему разряду суммы. Действительно, SA=SB=1. Поэтому, SA+SB=1 и CO=1 (см. Табл.1))
3.2.1.2. Целые отрицательные числа. Пусть складываются два отрицательных слагаемых, представленных в форме целых чисел. Пусть также (|A|+|B|)<2n-1. т.е. как и при сложении дробных чисел переполнения возникать не должно. Так как слагаемые отрицательные числа и сложение выполняется в обратных кодах, то согласно Процедуре 2, то сумма должна быть сформирована в обратном коде. Кроме того, следует ожидать переноса из знакового разряда, который должен быть подсуммирован к младшему разряду суммы. При мером 1 иллюстрируются эти особенности.
Пример 1–ОК. Сложение в пок дробных и целых отрицательных чисел без переполнения (Случай 3ок) |
|||
Выполнить сложение в обратном коде пар дробных и целых отрицательных операндов соответственно А,В и X,Y. |
|||
|
Дробные слагаемые равны |
Целые слагаемые равны |
|
А= –0.437510 = –0.01110002; |
X= –3410= –1000102 |
||
В= –0.37510 = – 0.01100002, |
Y= –6710= – 10000112. |
||
Предварительное решение. Предварительное сложение приводит к следующим результатам. Отрицательная сумма дробных чисел, подсчитанная теоретически должна быть равна: –0.812510. Теоретическое значение целой суммы равно 10110 |
|||
Предварительные выводы. Следует ожидать как в случае дробных, так и в случае целых чисел перенос из знакового разряда суммы |
|||
Так как слагаемые отрицательные числа, то они должны быть представлены в обратных кодах. |
|||
Решение. Так как слагаемые –отрицательные числа, то они должны быть представлены в обратных кодах. |
|||
|
Обратные коды дробных слагаемые равны |
Обратные е коды целых слагаемые равны |
|
|
[A]обр=1.10001112; [B]обр=1.10011112, |
[X]обр = 1 10111012; [Y]обр = 1 01111002. |
|
Сложение в двоичных дополнительных кодах имеет вид: |
|||
|
|
|
|
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
П осле сложения заданных чисел, в знаковых разрядах сумм (А+В) и (X+Y) получено единичное значение. т.е. переполнение отсутствует, а суммы сформированы в обратных кодах. Возникающий из знаковых разрядов перенос подсуммируется в младший разряд суммы. Сумма (А+В), переведенная из обратного кода в прямой, равна [1.0010111]обр [1.1101000]пр= –0.812510. Сумма целых чисел, также переведенная из обратного кода в прямой равна [1 0011010]обр [1 1100101]пр= – 10110. Это совпадает с прогнозируемыми результатами. |