Изменения

Перейти к: навигация, поиск

Adaptive precision arithmetic

24 байта добавлено, 08:26, 21 октября 2011
Округление
Из-за округления данные операции теряют некоторые важные свойства, например, ассициативность: <tex>(1000 \oplus 0.011) \oplus 0.011 = 1000</tex>, но <tex>1000 \oplus(0.011 \oplus 0.011) = 1001</tex>.
При анализе округления часто используют так называемый ''<tex>ulp''</tex>.
{{Определение
|definition=
'''Например''', <tex>ulp(-1100) = 1, ulp(1) = 0.001</tex> в <tex>p</tex>-битной арифметике.
Так же полезной нотацией является <tex> err(a \circledast b) </tex>, которая обозначает ошибку округлении результата выполнения операции <tex>\circledast</tex>. Отметим, что если ''<tex>ulp'' </tex> всегда беззнаковая величина, то <tex>err </tex>может иметь знак. Для базовых операций (сложение, вычитание, умножение) <tex> a \circledast b = a \ast b + err(a \circledast b)</tex>, и точное округление гарантирует, что <tex> |err(a \circledast b)| \leqslant \frac{1}{2}ulp(a \circledast b)</tex>.
==Свойства==
355
правок

Навигация