Действия над числами с плавающей запятой

Слайд 2

= 125*100 = 1,25*102 = 0,125*103 = 0,00125*105 = ... Для

= 125*100 = 1,25*102 = 0,125*103 = 0,00125*105 = ...
Для однозначного

представления числа его мантисса должна удовлетворять условиям нормализации:
125пз = 0,125*103

ПРЕДСТАВЛЕНИЕ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ

Будем считать, что
для изображения порядка отводится m двоичных разрядов,
а для изображения мантиссы – n двоичных разрядов без учёта знаков.

Слайд 3

ДИАПАЗОН ПРЕДСТАВЛЕНИЯ В ЭВМ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ

ДИАПАЗОН ПРЕДСТАВЛЕНИЯ В ЭВМ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ

Слайд 4

ПОГРЕШНОСТИ ПРЕДСТАВЛЕНИЯ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ Относительная погрешность представления в ЭВМ

ПОГРЕШНОСТИ ПРЕДСТАВЛЕНИЯ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ

Относительная погрешность представления в ЭВМ числа

с плавающей запятой:
δ [Х]мин = ∆[Х] / (Ммакс* ) = (0.5 *2-n)* ) / ((1 - 2-n)* ) = (0.5 *2-n) / (1-2-n) ≈ 0.5 * 2-n
δ [Х]макс = ∆[Х] / Хмин = (0.5 *2-n)* ) / ( * 2-1) = 2-n

Абсолютная погрешность представления в ЭВМ числа с плавающей запятой :

Слайд 5

2. Mz = Mx * My 1. Пz = Пx +

2. Mz = Mx * My

1. Пz = Пx + Пy

Умножение

чисел с плавающей запятой

Пример. (0,3*103) * (0,2*102) = (0,3 * 0,2) *103+2 = 0,06 * 105 = 0,6* 104

Слайд 6

Особые случаи при умножении чисел с плавающей запятой 1б. Если Пz

Особые случаи при умножении чисел с плавающей запятой

1б. Если Пz =

+ ∞, то продолжить умножение.

Если |Mz| < 2-1, то выполнить нормализацию мантиссы с одновременной коррекцией порядка.:
|Mz| = |Mz| * 2+1
Пz = Пz -1
Если в результате получим Пz = - ∞, то Z=0.

Если в ходе перемножения мантисс получим |Mz| ≥ 2-1 , но при обработке порядков получили Пz = + ∞, то Z = ∞

При Z=0 выполнение программы в ЭВМ продолжается.
При Z = ∞ ЭВМ приостанавливает свою работу.

1. Пz = Пx + Пy

2. Mz = Mx * My
Т.к. |Mx| ≥ 2-1, |My| ≥ 2-1, то |Mz| ≥ 2-2
Возможная область ненормализованной мантиссы:
2-1 > |Mz| ≥ 2-2

Слайд 7

2. Mz = Mx / My 1. Пz = Пx -

2. Mz = Mx / My

1. Пz = Пx - Пy

Деление

чисел с плавающей запятой

Пример. (0,3*103) / (0,2*102) = (0,3 / 0,2) *103-2 = 1,5 * 101 = 0,15* 102

Слайд 8

Особые случаи при делении чисел с плавающей запятой 1а. Если Пz

Особые случаи при делении чисел с плавающей запятой

1а. Если Пz =

+ ∞, то Z= ∞
1б. Если Пz = - ∞, то продолжить деление

Если |Mz| ≥ 1, то выполнить нормализацию мантиссы с одновременной коррекцией порядка:
|Mz| = |Mz| * 2-1; Пz = Пz +1.
Если в результате получим Пz = + ∞, то Z = ∞.
Если в ходе деления мантисс получили Пz = - ∞, и Пz = Пz +1 = - ∞, то Z = 0.
Если в ходе деления мантисс получили |Mz| < 1 , и при обработке порядков получили Пz = - ∞, то Z = 0.

2. Mz = Mx / My
Т.к. |Mx| ≥ 2-1, |My| ≥ 2-1, то 2 > |Mz| ≥ 2-1
Возможная область ненормализованной мантиссы:
2 > |Mz| ≥ 1

1. Пz = Пx - Пy

Слайд 9

Сложение/вычитание чисел с плавающей запятой Пример 1. (0,3*103) + (0,98*104) =

Сложение/вычитание чисел с плавающей запятой

Пример 1. (0,3*103) + (0,98*104) = (0,03

*104)+(0,98*104) = 1,01 * 104 = 0,101* 105

Пример 2. (0,3333*103) - (0,331*103) = 0,002*103 = = 0,2* 101