II . Сложение двоичных чисел.
Отрицательные числа в ЦВМ представлены в специальных кодах: прямом, обратном и дополнительном. Прямой код (ПК) представляет абсолютное значение числа с закодированным знаком: « + » – «0», « - » – «1». Обратный код (OK) положительного числа совпадает с его прямым кодом. Для отрицательного числа в знаковый разряд заносится «1», а в остальных разрядах цифры заменяются на взаимообратные (0 на 1, 1 на 0), т.е. формируется поразрядное дополнение числа до единицы. Дополнительный код (ДК) положительного числа совпадает с его прямым кодом. Для отрицательного числа в знаковый разряд заносится «1», а в цифровой части числа цифры заменяются на взаимообратные и к полученному инверсному изображению прибавляется, единица в младший разряд, т.е. код является дополнением до основания СС. Таким образом, положительные числа во всех кодах одинаковы, а отрицательные – различны.
При алгебраическом сложении чисел в ОК со знаковым разрядом оперируют как с разрядом цифровой части числа, а при возникновении единицы переноса из знакового разряда ее прибавляют к младшему разряду числа.
А =-356,3110 = -101100100,010011112 B = 723,5410 = 1011010011,1000101000112 Апк = 1, 01011001000100111100002 Впк = 0, 10110100111000101000112 Аок = 1, 10100110111011000011112 Вок = 0, 10110100111000101000112 М = 210 Сложение: 1, 1010011011101100001111 0, 1011010011100010100011 10, 0101 1 0 11 1 10 011101 1001 0 1 0, 0101101111001110110011
0, 0101101111001110110011ок = 101101111, 001110110011пк 101101111, 0011101100112 = 367,2310 Проверка: (-356,31) 10 + 723,5410 = 367,2310
При алгебраическом сложении чисел в ДК результат получают также в ДК, а при возникновении единицы переноса из знакового разряда ее отбрасывают.
А=356,3110 = 101100100,010011112 B =-723,5410 = -1011010011,1000101000112 Апк = 0, 01011001000100111100002 Bпк = 1, 10110100111000101000112 Адк = 0, 01011001000100111100002
М = 210
Сложение: 0, 0101100100010011110000 1, 0100101100011101011101 1, 1010010000110001001101
1, 1010010000110001001101дк = 1,0101101111001110110011пк -101101111, 001110110011=-367,2310 Проверка: 356,3110 + (-723,54) 10 = -367,2310
Модифицированные обратный и дополнительный коды (МОК и МДК) имеют для изображения знака два соседних разряда: « + » – «00», « - » – «11». Эти коды используются для обнаружения ситуации ПРС - переполнения разрядной сетки. ПРС возникает при сложении чисел с ФЗ одинакового знака, когда результат операции выходит за верхнюю границу диапазона представления чисел, это приводит к потере старших разрядов. Формальным признаком ПРС при использовании МОК и МДК является появление запрещенных комбинаций в знаковых разрядах – «01» или «10». Для исправления результата можно либо увеличить масштаб результата, сдвинув его вправо на один разряд, а в освободившийся старший знаковый разряд поместить значение младшего знакового разряда, либо увеличить масштабы исходных операндов и выполнить арифметическую операцию снова.
А=-356,3110 = -101100100,010011112 B =-723,5410 = -1011010011,1000101000112 Апк = 1, 0101100100010011112 Bпк = 1, 10110100111000101000112 Амдк = 11, 1010011011101100012 Вмдк = 11,01001011000111010111012 М = 210 Сложение: 11,1010011011101100010000 11,0100101100011101011101 1 10,1111001000001001101101
10 - запрещенная комбинация. Увеличиваем масштаб результата, сдвинув его вправо на один разряд, а в освободившийся старший знаковый разряд помещаем значение младшего знакового разряда:
1, 01111001000001001101101дк = -10000110111110110010011пк -10000110111,1101100100112 = -1079,84810 Проверка: -356,3110 + (-723,54)10 = -1079,8510
Сложение чисел в форме с ПЗ выполняется в несколько этапов. Числа с ПЗ изображаются двумя частями: мантиссой и порядком.
Чтобы их сложить, надо выполнить различные действия над мантиссами и порядками. Поэтому в машинах предусмотрены различные устройства для обработки мантисс и порядков. Мантиссы исходных операндов нормализованы. 1. Выравнивание порядков слагаемых: меньший порядок увеличивается до большего, при этом мантисса меньшего преобразуемого числа денормализуется. В машине выполняется вычитание порядков операндов. Знак и модуль разности порядков определяет, мантиссу какого из слагаемых надо сдвигать вправо и на сколько разрядов. 2. Сложение мантисс операндов по правилам сложения чисел с ФЗ. 3. Нормализация результата, если необходимо. При этом денормализация вправо,т.е. ситуация, когда в старшем разряде двоичной мантиссы «0», требует сдвига мантиссы влево и уменьшения порядка на соответствующее количество единиц. Денормализация влево означает временное ПРС мантиссы суммы, но в отличие от чисел с ФЗ, здесь возможна коррекция: сдвиг мантиссы на один разряд вправо и увеличение на «1» порядка суммы. При больших величинах порядков возможно возникновении истинного ПРС числа с ПЗ, хотя вероятность этого невелика. Смещенные порядки используются в большинстве современных ЭВМ для упрощения процесса выравнивания порядков и их сравнения. При этом для представления порядка применяется специальный дополнительный код с инверсным кодированием знака: « + » – «1», « - » – «0». В результате порядки чисел увеличиваются (в ЕС ЭВМ на 26=64, в СМ ЭВМ на 27=128), что приводит к смещению всех порядков по числовой оси в положительном направлении. Такие смещенные порядки называют характеристиками, и так как они все оказываются целыми положительными числами, то алгебраическое сложение можно производить без предварительного анализа знаков.
А=356,31 = 101100100,010011112 B =723,54 = 1011010011,1000101000112 А
В
Сложение: 1) Выравниваем порядки, для чего выполняем их вычитание с использованием ДК РА = 0,1001 (Рв )дк = 1,0110 1,1111
(РА- РВ)дк=1,1111 (РА- РВ)пк=1,0001 РА- РВ = -1, значит денормализуем А – сдвигаем мантиссу на один разряд вправо и увеличиваем порядок А на 1. А
2) Складываем мантиссы 0, 0101100100010011110000 0, 1011010011100010100011 1, 0000110111110110010011 ПРС! Сдвиг мантиссы на один разряд вправо и увеличение порядка суммы на 1. 0, 10000110111110110010011 А+В
Проверка: 10000110111, 1101100100112 = 1079,84710 356,31+723,54 = 1079,85
Популярное: Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (442)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |