- •Часть 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.2. Сложение дробных и целых положительных чисел с переполнением (Случай 2)
3.2.2.1 Дробные числа. Пусть складываются два положительных слагаемых представленных в форме дробных чисел. Пусть также (A+B)1. Очевидно, что сумма в этом случае превосходит максимальное число, представимое в заданной разрядной сетке, т.е. должно иметь место переполнение, признаком которого является код 01 знака суммы. Так как слагаемые положительные числа, то сложение выполняется в прямых кодах, а переполнение положительное.
А налитически этот случай сложения записывается как
Из (13) следует, что: так как (А+В) 1, то при сложении формируется перенос CY в знаковые разряды из старшего разряда модуля суммы. Перенос влияет на значение кода знака суммы. Этот код определяется суммой SSA+SSB+ CY =00+00+01=01. Таким образом, сумма – число, в знаковых разрядах которого код 01, а в значащих разрядах разность (A+B) –1.
Комбинация значений 01 в знаковых разрядах суммы не соответствует разрешенным комбинациям модифицированного кода, что является признаком переполнения.
Более того, какая комбинация позволяет определить и тип переполнения: положительное.
3.2.2.2. Целые числа. Пусть складываются два положительных слагаемых, представленных в форме целых чисел. Пусть также (A+B)2n-1. Очевидно, что в этом случае должно иметь место положительное переполнение разрядной сетки, признаком которого служит отрицательный знак суммы. Так как слагаемые положительные числа, то сложение выполняется в прямых кодах.
А налитически сложение описывается как:
Так как (A+B)2n-1,то при сложении формируется перенос CY в младший знаковый разряд из модуля числа. Перенос влияет на значение знака суммы. Действительно, содержимое знаковых разрядов в этом случае определяется, как SSA+SSB+ CY =00+00+1=01. Таким образом, сумма – число, в знаковом разряде которого 01, а в значащих разрядах остаток (A+B) –2n-1. Как и при сложении дробных чисел, комбинация значений 01 в знаковых разрядах суммы не соответствует разрешенным комбинациям модифицированного кода и является признаком положительного переполнения.
Пример 2. Сложение дробных и целых положительных чисел С переполнениЕМ (случай 2мдк) |
||||
Выполнить сложение в модифицированном дополнительном коде пар дробных и целых положительных операндов соответственно А,В и X,Y. |
||||
|
Дробные слагаемые в ПК равны |
Целые слагаемые в ПК равны |
|
|
А=0,687510=0.10110002; В=0.437510=0.01110002 |
X= 6410= 0 10000002; Y=7610 = 0 10011002 |
|||
Слагаемые в модифицированном коде |
||||
|
А=00.10110002; В=00.01110002 |
X= 00 10000002; Y= 00 10011002 |
|
|
Предварительные выводы. Предварительное сложение приводит к результатам (А+В) → 1.12510 =1.00100002, (X+Y) → 14010 = 1 00011002. |
||||
Так как суммы превосходят максимальные числа, представимые в заданной разрядной сетке, то ожидается положительное переполнение. |
||||
Решение. Так как операнды – положительные числа, сложение выполняется в прямых кодах |
||||
Сложение в двоичных модифицированных кодах имеет вид: |
||||
|
|
|
||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
Т аким образом, выполненные примеры подтвердили, что как для дробных, так и для целых чисел, модифицированные коды позволяют определить переполнение разрядной сетки и его тип. Формирование комбинации 01 в знаковых разрядах суммы – признак положительного переполнения. |