Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Сложение и вычитание
Обе операции выполняются по сходным алгоритмам. X = 2mx * sign X.x1x2...xnY = 2my * sign Y.y1y2...ynZ = X ± Y = 2max(mx,my).sign Z.z1z2...znОперация выполняется следующим образом:
Пример: порядок мантисса[mx]пк = 0.11 [Mx]пк = 0.1010[my]пк = 0.10 [My]пк = 0.1110Находим разность порядков: +00.11 = [mx]мок 11.01 = [-my]мок 1| 00.00 |_ _ 1 00.01 = [Δ]мок - разность порядковТак как m x > my, то: +00.1010 = [Mx]мок 00.0111 = [My]мок * 2-1[Z]мок = 01.0001 – переполнение 2-1 * [Z]мок = 00.1000 – нормализация max(mx,my) = [mx]мок = +00.11 [1]мок = 00.01 [mx]мок = 01.00 – переполнение порядкаZ = ∞При выполнении операции сложения возможны следующие специфические случаи, называемые блокировками: а) При определении разности порядков может оказаться, что необходимо мантиссу одного из чисел сдвигать на величину, большую, чем число разрядов в разрядной сетке. В этом случае, естественно, такое число может быть воспринято как нуль, а операция дальнейшего сложения может блокироваться, то есть не выполняться. В качестве результата берётся максимальное число. Пример: [mx]ок = 0.101 [Mx]ок = 0.10111101[my]ок = 1.001 [My]ок = 0.10000001Разность порядков: +00.101 = [mx]мок 00.110 = [-my]мок[Δ]мок = 01.011 – то есть это число 11 10, а в разрядной сетке мантиссы только 8 разрядов. Поэтому операция блокируется, а результатом является число: [mx] = 0.101 [Mx] = 0.10111101Аналогичный случай может быть, когда разность порядков – отрицательна (отрицательное переполнение). В этом случае операция также блокируется, а результатом будет число с максимальным порядком. Пример: [mx]ок = 1.010 [Mx]ок = 1.10101011[my]ок = 0.110 [My]ок = 1.11111111Разность порядков: + 11.010 = [mx]мок 11.001 = [-my]мок _______+1| 10.011 1 _______ 10.100 = [Δ]мокТо есть разность порядков меньше (-8). Операция блокируется, а результатом будет число: [my]ок = 0.110 [My]ок = 1.11111111Date: 2016-05-14; view: 429; Нарушение авторских прав |