7.Действия с ПЗ.pptx
- Количество слайдов: 10
1
ПРЕДСТАВЛЕНИЕ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ 125= 125*100 = 1, 25*102 = 0, 125*103 = 0, 00125*105 =. . . Для однозначного представления числа его мантисса должна удовлетворять условиям нормализации: 125 пз = 0, 125*103 разрядная сетка = nразр. <знак числа><мантисса><знак порядка><порядок> Будем считать, что для изображения порядка отводится m двоичных разрядов, а для изображения мантиссы – n двоичных разрядов без учёта знаков.
ДИАПАЗОН ПРЕДСТАВЛЕНИЯ В ЭВМ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ |Хмах| = Ммах * | ХMIN | = МMIN * = ((1 - 2 -n) * = 2 -1 * ≈ =
ПОГРЕШНОСТИ ПРЕДСТАВЛЕНИЯ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ Абсолютная погрешность представления в ЭВМ числа с плавающей запятой : Относительная погрешность представления в ЭВМ числа с плавающей запятой: δ [Х]мин = ∆[Х] / (Ммакс* ) = (0. 5 *2 -n)* δ [Х]макс = ∆[Х] / Хмин = (0. 5 *2 -n)* ) / ((1 - 2 -n)* )/ ( ) = (0. 5 *2 -n) / (1 -2 -n) ≈ 0. 5 * 2 -n * 2 -1) = 2 -n
1. Пz = Пx + Пy 2. Mz = Mx * My Пример. (0, 3*103) * (0, 2*102) = (0, 3 * 0, 2) *103+2 = 0, 06 * 105 = 0, 6* 104
Особые случаи при умножении чисел с плавающей запятой 1. Пz = Пx + Пy 1 а. Если Пz = - ∞, то Z=0 = 0. 0. . . 0 Порядок Мантисса 1 б. Если Пz = + ∞, то продолжить умножение. 2. Mz = Mx * My Т. к. |Mx| ≥ 2 -1, |My| ≥ 2 -1, то |Mz| ≥ 2 -2 Возможная область ненормализованной мантиссы: 2 -1 > |Mz| ≥ 2 -2 Если |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 Пример. (0, 3*103) / (0, 2*102) = (0, 3 / 0, 2) *103 -2 = 1, 5 * 101 = 0, 15* 102
Особые случаи при делении чисел с плавающей запятой 1. Пz = Пx - Пy 1 а. Если Пz = + ∞, то Z= ∞ 1 б. Если Пz = - ∞, то продолжить деление 2. Mz = Mx / My Т. к. |Mx| ≥ 2 -1, |My| ≥ 2 -1, то 2 > |Mz| ≥ 2 -1 Возможная область ненормализованной мантиссы: 2 > |Mz| ≥ 1 Если |Mz| ≥ 1, то выполнить нормализацию мантиссы с одновременной коррекцией порядка: |Mz| = |Mz| * 2 -1; Пz = Пz +1. Если в результате получим Пz = + ∞, то Z = ∞. Если в ходе деления мантисс получили Пz = - ∞, и Пz = Пz +1 = - ∞, то Z = 0. Если в ходе деления мантисс получили |Mz| < 1 , и при обработке порядков получили Пz = - ∞, то Z = 0.
Пример 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
Порядок выполнения и особые случаи при сложении/вычитании чисел с плавающей запятой 1. Определение разности порядков: ΔП = Пx – Пy Если ΔП = + ∞, то Пx >> Пy, и Z = X. Если ΔП = - ∞, то Пy >> Пx, и 2. Денормализация мантиссы числа с меньшим порядком: Если ΔП > 0, то Пx > Пy, Пz =Пx, M′y = My*2 -ΔП , M′x = Mx. Если ΔП < 0, то Пy > Пx, Пz =Пy, M′x = Mx*2 -|ΔП| , M′y = My. Если ΔП = 0, то Пz =Пx=Пy. Денормализации мантисс не происходит: M′x = Mx, M′y = My. 3. Алгебраическое суммирование чисел с равными порядками: Mz = M′x M′y Если |Мz| ≥ 1, то |M′z| =|Мz| * 2 -1, П′z = Пz+1. Если П′z = + ∞, то Z = ∞. Если 2 -(k+1) ≤ |Мz| < 2 -k, ( |Мz| = 0. 00. . . 0 1. . . ), то |M′z| =|Мz| * 2 k, П′z = Пz-k k нулей Если П′z = - ∞, то Z = 0.