Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.04;
Скачать: CL | DM;

Вниз

Округление чисел. Неужели ТАК правильно???   Найти похожие ветки 

 
DiamondShark ©   (2003-08-13 11:20) [12]

Ох-хо-хо... Ещё раз.
Предположим, что распределение чисел у нас близко к равномерному случайному. Тогда при "арифметическом" округлении имеем:

Цифра Погрешность
0 0
1 -1
2 -2
3 -3
4 -4
5 +5
6 +4
7 +3
8 +2
9 +1

Как легко заметить, если имеется большой массив чисел, которые потом понадобится суммировать (итого для позиций документа, сальдо по счёту и т.п.), то при "арифметическом" округлении будет накапливаться систематическая погрешность с матожиданием
0.5*10^n * 0.1 * N
где:
n -- десятичный вес разряда, до которого производится округление (до двух знаков n=-2, до целых n=0 и т.д.)
0.1 -- вероятность каждой цифры
N -- число суммируемых чисел в массиве

Для того, чтобы выровнять вероятности погрешностей надо скомпенсировать единственную нескомпенсированную (см. таблицу выше) погрешность +5. Для этого она искусственно разбивается на две равновероятные +5 -5 в зависимости от чётности предыдущей цифры.

Кстати, в слове состояния FPU есть флажок, контролирующий режим округления (арифметический/бухгалтерский).



Страницы: 1 2 вся ветка

Текущий архив: 2003.09.04;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.014 c
14-10936
pasha_golub
2003-08-16 19:09
2003.09.04
И тут Остапа понесло...


7-11009
AdMiRaL
2003-06-22 20:55
2003.09.04
Integracija s SHELL


4-11020
AHTOHA
2003-07-04 06:35
2003.09.04
Вывести текст из DOSовского окна в Мемо?


3-10621
andy-ivt
2003-08-13 12:00
2003.09.04
Перевод файла *.frp(Quick Report) в *.doc


3-10603
Optim
2003-08-13 18:13
2003.09.04
Трабл с FireBird