Арифметические действия над числами с плавающей запятой
Сложение чисел
При сложении чисел с плавающей запятой результат определяется как сумма мантисс слагаемых с общим для слагаемых порядком.
Если знаки обеих мантисс одинаковы, то они складываются в прямых кодах, если разные - в дополнительном или обратном кодах.
В табл. 2.8 приведен порядок действий при сложении чисел с разными знаками:
Таблица 2.8
Порядок действий |
Вычисления |
1 .Выравнивание порядков чисел в сторону большего |
![]() |
2.Выравнивание разрядности мантисс слагаемых. При выравнивании разрядности нули добавляются в конце мантиссы числа с меньшей разрядностью, при этом величина числа не меняется, так как учитывается его порядком |
![]() |
З.Сложение мантисс в дополнительных кодах |
![]() |
4.Перевод мантиссы результата в прямой код |
![]() |
5.Обобщение полученного результата вычислений (результат имеет одинаковый порядок) |
![]() |
6.Нормализация результата |
![]() |
7.Получение результата |
![]() |
Умножение чисел
Произвести умножение чисел с плавающей запятой произведение определяется как произведение мантисс сомножителей, а порядок - как сумма их порядков. При умножении разрядность сомножителей нс выравнивается, анализ знакового разряда не производится.
Рассмотрим варианты умножения чисел в зависимости от знаков сомножителей.
Вариант 1.
А > 0; В > 0.
В табл. 2.9 приведен порядок действий при умножении двух чисел:
_Таблица 2.9
Порядок действий |
Вычисления |
1 .Определение порядка результата, равного сумме порядков сомножителей |
р = рА + рв = 11 + 10 = 101 |
2.Умножение мантисс сомножителей: Мд =0.101; Мв =0.11. |
![]() |
3.Обобщение результата |
![]() |
4.Нормализация результата |
![]() |
5.Получение результата |
![]() |
Вариант 2.
А < 0; В < 0.
Произведем умножение двух чисел:
Умножение выполняется по формуле
В табл. 2.10 приведен порядок действий при умножении двух чисел с разными знаками
Таблица 2.10
Порядок действий |
Вычисления |
1 .Определение порядка результата |
![]() |
2.Образование необходимых кодов мантисс чисел |
![]() |
3.Умножение мантисс сомножителей: м К |
![]() |
4.Вычисление Мс. по формуле Мс = МА *(-Мв ) + (-МА ) '-доп лпр адоп лдоп |
![]() |
Порядок действий |
![]() |
5.Перевод мантиссы результата в прямой код |
![]() |
6.Получение результата |
![]() |

Необходимо иметь в виду, что при вычислениях исходное делимое D должно иметь удвоенную разрядность и соответствующий ему порядок:
D = 0,000010001 Ю1001.
Таким образом получаем следующий результат: частное равно 17:9 = +0,00001 • 10|Ш = ОД • 101 = +1(10);
остаток равен +1000<2) = +8(10).
Вариант 3.
А < 0; В > 0.
Умножение производится аналогично второму варианту (см. табл. 2.10).
Деление чисел
При делении чисел, представленных в форме с плавающей запятой, частное определяется как деление делимого D на делитель d, а порядок - как разность порядков делимого и делителя. Деление мантисс чисел производится по тем же правилам, что и деление чисел с фиксированной запятой.
В табл. 2.11 приведен порядок действий при делении двух чисел.
Таблица 2.11
Порядок действий |
Вычисления |
Частное |
1 .Определение порядка результата, равного разности порядков делимого и делителя |
![]() |
- |
2.Получение кодов мантисс делителя |
![]() |
|
Деление мантисс. Вычислительный процесс продолжается до тех пор, пока младший разряд ЧО, отмеченный звездочкой (*), не совпадет с младшим разрядом делителя d |
![]() |
|