Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Арифметические операции над числами с плавающей запятой более сложны, чем операции над числами с фиксированной запятой. Алгоритм сложения и вычитания чисел с плавающей запятой выглядит следующим образом:
1.Производится выравнивание порядков чисел. Порядок
меньшего (по модулю) числа принимается равным порядку
большего, а мантисса меньшего числа сдвигается вправо на
число разрядов, равное разности порядков чисел.
2. Производится сложение (вычитание) мантисс, в результате чего получается мантисса суммы (разности).
3. Порядок результата принимается равным порядку большего числа.
4. Полученная сумма (разность) нормализуется.
Выравнивание порядковначинается с их сравнения. Мантисса числа с меньшим порядком при выравнивании сдвигается вправо на число разрядов, равное разности порядков.
Сложение (вычитание) мантисспроизводится по правилам сложения (вычитания) чисел с фиксированной запятой.
При умножении чисел с плавающей запятой порядки сомножителей складываются, а мантиссы перемножаются. Произведение нормализуется, и ему присваивается знак плюс, если сомножители имеют одинаковые знаки, и знак минус, если знаки разные.
Если мантисса множимого или множителя равна 0, то произведению можно присвоить значение 0 без выполнения умножения мантисс. Если при суммировании порядков возникло переполнение и порядок отрицательный, то это означает, что произведение меньше минимального представляемого в машине числа, и в качестве результата операции может быть записан 0 без перемножения мантисс.
Если при суммировании порядков возникает переполнение и порядок положительный, может оказаться, что результат все-таки находится в диапазоне чисел, представляемых в машине, так как при умножении мантисс возможно нарушение нормализации вправо, и после нормализации мантиссы переполнение в порядке может исчезнуть.
При делении чисел с плавающей запятой мантисса частного равна частному от деления мантиссы делимого на мантиссу делителя, а порядок частного - разности порядков делимого и делителя. Частное нормализуется, и ему присваивается знак плюс, если делимое и делитель имеют одинаковые знаки, и знак минус, если разные.
Если делимое равно 0, то в частное может быть записан 0 без выполнения деления. Если при вычитании порядков образовалось переполнение с положительным знаком или если делитель равен 0, то деление не производится и формируется сигнал прерывания.
При делении нормализованных чисел с плавающей запятой может оказаться, что мантисса делимого больше мантиссы делителя, и мантисса частного образуется с переполнением. Для устранения этого явления перед делением мантисс нарушают нормализацию делителя сдвигом на разряд влево. Тогда нарушения нормализации частного влево не возникает.
Дата публикования: 2014-11-04; Прочитано: 2338 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!