![](/user_photo/2706_HbeT2.jpg)
- •Практическое занятие №2.
- •1. Сложение в двоичной системе счисления.
- •2. Вычитание в двоичной системе счисления.
- •3. Умножение в двоичной системе счисления.
- •В 1010 - множитель
- •4. Деление в двоичной системе счисления.
- •5. Машинные коды чисел.
- •6 Арифметические действия над машинными кодами.
- •Б) слагаемое а пр.К. 0,0110110
- •Уменьшаемое а пр.К. 0,1101101
- •Контрольные вопросы
- •Задания
6 Арифметические действия над машинными кодами.
Предположим, что оба числа имеет 2-байтовое представление. Коды обоих чисел суммируются по правилам двоичного сложения разряд за разрядом, включая старшие знаковые разряды кодов. Если появляется перенос из знакового разряда, он отбрасывается. Отрицательный результат, полученный в дополнительном коде, должен быть переведен в прямой код.
Пример 7.
А) слагаемое – А пр.к. 0,1101100
слагаемое – В пр.к. +1,1000110
А д.к. 0,1101100
В д.к. + 1,0111010
А + В д.к. 0,0100110 - результат
11111000 - перенос
перенос игнорируется
0,0100110 - сумма
Б) слагаемое а пр.К. 0,0110110
слагаемое В пр.к. + 1,1011010
А д.к. 0,0110110
В д.к. + 1,0100110
А + В д.к. 1,1011100
А + В пр.к. 1,0100100 - сумма
Если оба слагаемых имеют одинаковый знак, то может случиться, что их алгебраическая сумма выйдет за границы диапазона чисел, представленных в коде данной разрядности. Это называется переполнением разрядной сетки. При переполнении возможны два случая: либо имеется перенос в знаковый разряд и нет переноса из знакового разряда, либо нет переноса в знаковый разряд и есть перенос из знакового разряда.
Для выполнения операции вычитания предварительно вычитаемое переводится в дополнительный код, а затем осуществляется суммирование кодов чисел.
Пример 8.
Уменьшаемое а пр.К. 0,1101101
вычитаемое В пр.к. - 0,1000110
А д.к. 0,1101101
В д.к. + 1,0111010
А – В д.к 10,0100111 - разность
1111000 - перенос
В арифметико-логическом устройстве ЭВМ арифметические операции выполняются над операндами, представленными с фиксированной или плавающей точкой, в двоичной либо в десятичной системах счисления.
Алгоритм реализации операции сложения двоичных чисел с фиксированной точкой состоит из следующих этапов:
анализа знакового разряда;
перевода мантиссы в обратный или дополнительный код, если знак результата отрицательный;
суммирование кодов слагаемых; анализа переполнения разрядной сетки; при переполнении разрядной сетки результат неверен; преобразования результата в прямой код, если знак результата отрицательный.
Алгоритм выполнения сложения двоичных чисел с плавающей точкой гораздо сложнее, чем с фиксированной точкой, и состоит из следующих этапов:
выравнивание порядков путем вычитания порядка меньшего числа из порядка большего числа с учетом знака порядка и сдвиг мантиссы на разность порядков;
анализ знака мантиссы, перевод мантиссы в обратный или дополнительный код, если знак числа отрицателен;
суммирование кодов мантиссы слагаемых; анализ наличия переполнения разрядной сетки мантиссы результата;
преобразование результатов в прямой код, если знак результата отрицательный;
нормализация результата влево с уменьшением порядка, если результат получился ненормализованным.