Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Арифметические операции над двоичными числами с плавающей точкой ⇐ ПредыдущаяСтр 3 из 3
В современных ЭВМ числа с плавающей точкой хранятся в памяти машин, имея мантиссу и порядок (характеристику) в прямом коде и нормализованном виде. Все арифметические действия над этими числами выполняются так же, как это делается с ними, если они представлены в полулогарифмической форме (мантисса и десятичный порядок) в десятичной системе счисления. Порядки и мантиссы обрабатываются раздельно. Сложение (вычитание). Операция сложения (вычитания) производится в следующей последовательности. 1. Сравниваются порядки (характеристики) исходных чисел путем их вычитания р=р1-р2. При выполнении этой операции определяется, одинаковый ли порядок имеют исходные слагаемые. 2. Если разность порядков равна нулю, то это значит, что одноименные разряды мантисс имеют одинаковые веса (двоичный порядок). В противном случае должно проводиться выравнивание порядков. 3. Для выравнивания порядков число с меньшим порядком сдвигается вправо на разницу порядков Ар. Младшие выталкиваемые разряды при этом теряются. 4. После выравнивания порядков мантиссы чисел можно складывать (вычитать) в зависимости от требуемой операции. Операция вычитания заменяется операцией сложения в соответствии с данными табл. 2.3. Действия над слагаемыми производятся в ОК или ДК по общим правилам. 5. Порядок результата берется равным большему порядку. 6. Если мантисса результата не нормализована, то осуществляются нормализация и коррекция значений порядка. Пример 5. Сложить два числа А 10 =+ 1.375; B 10=-0.625. А 2=+1.011=0: 1011*101; B2 = -0.101=-0: 101*100. В нормализованном виде эти числа будут иметь вид: 1. Вычитаем порядки Δ p = p 1-p2=1-0=1. В машине эта операция требует операции сложения с преобразованием порядка чисел в дополнительный код: Определяем, что Δ р≠ 0. 2. Порядок первого числа больше порядка второго числа на единицу. Требуется выравнивание порядков. 3. Для выравнивания порядков необходимо второе число сдвинуть вправо на один разряд. [B2]исх=0: 0 1: 101 после сдвига [B2]п=0: 11: 0101 [mB]дк= 1: 1011 4. Складываем мантиссы. Мантисса числа С - положительная. 5. Порядок числа С равен порядку числа с большим порядком, т.е. р = +1. [С2]п=0: 1 0: 0110. Видно, что мантисса результата не нормализована, так как старшая цифра мантиссы равна нулю. 6. Нормализуем результат путем сдвига мантиссы на один разряд влево и соответственно вычитаем из значения порядка единицу: Умножение (деление). Операция умножения (деления) чисел с плавающей точкой также требует разных действий над порядками и мантиссами. Алгоритмы этих операций выполняются в следующей последовательности. 1. При умножении (делении) порядки складываются (вычитаются) так, как это делается над числами с фиксированной точкой. 2. При умножении (делении) мантиссы перемножаются (делятся). 3. Знаки произведения (частного) формируются путем сложения знаковых разрядов сомножителей (делимого и делителя). Возможные переносы из знакового разряда игнорируются. Задание:
Порядок выполнения работы: Выполните арифметические операции в естественной и нормальной форме: 1. сложение 2. вычитание 3. умножение 4. деление Контрольные вопросы: 1. Сформулируйте правила сложения чисел в форме с плавающей точкой 2. Чем отличается числа в форме с фиксированной точкой от чисел с плавающей точкой.
|