Читайте также:
|
|
При сложении чисел одинакового знака, представленных в форме с фиксированной запятой, может возникнуть переполнение разрядной сетки.
1. Признаком переполнения разрядной сетки при сложении чисел в прямом коде является появление единицы переноса из старшего разряда цифровой части числа.
Например:
0. 1010
+ 0. 0110
0. 0000
2. Признак переполнения разрядной сетки при сложении чисел в дополнительном и обратном коде - получение знака результата, противоположного знакам операндов.
Например:
1) 0. 1100 1. 0101
+ 0. 1000 + 1. 0111
1. 0100 0. 1100
2) 0. 0111 1. 1001
+ 0. 1101 + 1. 0010
1. 0100 0. 1011
3. Знак суммы не совпадает со знаками слагаемых.
4. Различные значения знаковых разрядов модифицированного кода(когда 2 знаковых разряда)
5. Различные значения переноса в знаковый и из знакового разряда.
При умножении любых чисел также может возникнуть переполнение разрядной сетки.
Для обнаружения переполнения разрядной сетки в составе цифрового автомата должны быть предусмотрены аппаратные средства, автоматически вырабатывающие признак переполнения - некий сигнал переполнения.
Один из методов обнаружения переполнения разрядной сетки предполагает ввод вспомогательного разряда в знаковую часть изображения числа, который называют разрядом переполнения. Такое представление числа называют модифицированным.
Переполнение также может возникнуть при сложении чисел с одинаковыми знаками:
А10=32 А2=+100000 А2ок=0.100000
В10=24 В2=+011000 В2ок=0.011000
(А+В)2ок=0.111000
(А+В)2=+111000=32+16+8=56
Переполнения нет.
31. Общий порядок сложения чисел с плавающей точкой.
Процедура сложения чисел с плавающей точкой одного знака включает следующие действия:
• определяется разность порядков слагаемых Ар = (рА – рВ). Где p-порядок,При неравенстве порядков, если разность порядков больше О, сдвигается мантисса числа В вправо до тех пор, пока порядок меньшего числа В не станет равным большему; если разность порядков меньше О, сдвигается мантисса числа А вправо;
• после выравнивания порядков слагаемых при Ар = О производится сложение мантисс. В качестве порядка суммы принимается рА или рВ;
• проверяется мантисса суммы на возможность нарушения нормализации. При сложении чисел с одинаковыми знаками возможно нарушение нормализации только влево на один разряд. Чтобы получить нормализованную мантиссу, необходимо сдвинуть ее вправо. Порядок увеличивается на единицу, что может привести к переполнению.
Для сложения этих чисел требуется равенство п и m. При условии n = m сумма чисел равна (а + b) Ч 10n.
Задача. Найти сумму чисел А = 5.5 и В = -127.25
Решение. Найдем мантиссы и порядки этих чисел:
а) А = 5.5 = 101.12 = 0.10112 Ч 23 => мантисса равна 0.101101, порядок равен 3
б) В = -127.25 = -1111111.012 = -0.1111111012 Ч 27 => мантисса равна 0.111111101, порядок равен 7. Произведем выравнивание:
А= 0.00001011Ч 27
В = -0.111111101Ч 27
Получили два числа с одинаковым порядком.
Сложим их. А и В имеют разные знаки, поэтому сложение сводится к вычитанию. Так как абсолютное значение В больше абсолютного значения А, то вычитаем А из -В, а затем меняем знак.
-В: 0.111111101 порядок 7
А: -0.000010110 порядок 7
0.111100111 порядок 7
(-В) - А = 0.111100111Ч 27
А + В = -((-В) - А) = - 0.1111001112Ч 27
Проверка. А + В =-0.1111001112 27 = -1111001.11 = -121.75 = 5.5 + (-127.5) - верно.
32. Особенности умножения двоичных чисел.
Умножение в двоичной системе производится по тому же принципу что и в десятичной системе счисления, при этом используется таблица двоичного умножения:
0 * 0 = 0
0 * 1 = 0
1 * 0 = 0
1 * 1 = 1.
Пример 3.7. Найти произведение двух чисел:
Как видно из приведенных примеров, операция умножения может быть представлена как операции сдвига и суммирования.
33. Особенности деления двоичных чисел.
Деление в двоичной системе производится вычитанием делителя со сдвигом вправо, если остаток больше нуля.
Пример 3.8. Найти частное двух чисел если:
1. Делимое больше делителя:
2. Делимое меньше делителя:
Как видно из приведенных примеров, операция деления может быть представлена как операции сравнения, сдвига и суммирования.
Дата добавления: 2015-01-30; просмотров: 199 | Поможем написать вашу работу | Нарушение авторских прав |