double arrow

В форме с плавающей точкой

Операция алгебраического сложения чисел, представленных

В форме с фиксированной точкой

Операция алгебраического сложения чисел, представленных

При алгебраическом сложении чисел, представленных в форме с фиксированной точкой, слагаемые представляются в дополнительном коде, так как они хранятся в памяти в этом коде. Если результат положительный (нуль в знаковом разряде), то он воспринимается в прямом коде (для положительных чисел прямой и дополнительный код одинаков), если результат отрицательный (единица в знаковом разряде), то он воспринимается в дополнительном коде.

Иногда при сложении кодов возникает переполнение разрядной сетки, что ведет к искажению результата. Переполнение устанавливается путем анализа переносов в знаковый разряд и из него. Признаком переполнения является наличие переноса в знаковый разряд суммы при отсутствии переноса из знакового разряда (положительное переполнение) или наличие переноса из знакового разряда суммы при отсутствии переноса в ее знаковый разряд (отрицательное переполнение). При положительном переполнении – результат операции положительный, а при отрицательном – отрицательный.

Если же переносов из знакового разряда и в знаковый разряд суммы нет или есть оба эти переноса, то переполнения нет и при нуле в знаковом разряде сумма положительная и представлена в прямом коде, а при единице в знаковом разряде сумма отрицательная и представлена в дополнительном коде.

Начинается эта операция с выравнивания порядков слагаемых. При этом порядок меньшего по модулю числа принимается равным порядку большего по модулю числа, а его мантисса сдвигается вправо на число шестнадцатиричных разрядов равное разности порядков.

В процессе сдвига мантиссы меньшего слагаемого происходит потеря младших разрядов, что вносит погрешность в результат операции. При этом может оказаться, что мантисса меньшего слагаемого сдвигается за пределы разрядной сетки. Тогда в качестве суммы принимается большее по модулю слагаемое.

После выравнивания порядков начинается алгебраическое сложение мантисс по таким правилам, как и для чисел с фиксированной точкой. Порядок результата принимается равным порядку большего слагаемого. Если в процессе суммирования условие 1/16 <= /m/ <1 не выполняется, то это может привести к нарушению нормализации мантиссы m. В этом случае производится сдвиг мантиссы с соответствующим изменением порядка результата.

Операции сложения чисел, представленных в форме с плавающей точкой, требуют большего времени, чем операции с числами, представленными в форме с фиксированной точкой.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: