Оценка погрешности расчетов с использованием десятичных дробей - PullRequest
4 голосов
/ 02 июля 2010

В настоящее время мы используем System.Decimals для представления чисел в разрабатываемом приложении .NET. Я знаю, что десятичные дроби предназначены для минимизации ошибок из-за округления, но я также знаю, что некоторые числа, например 1/3, не могут быть представлены в виде десятичной дроби, поэтому в некоторых вычислениях будет небольшая ошибка округления. Я считаю, что величина этой ошибки будет очень мала и незначительна, однако коллега не согласен. Поэтому я хотел бы иметь возможность оценить порядок величины ошибки из-за округления в нашем приложении. Скажем, например, что мы рассчитываем промежуточный итог «сделок» и будем совершать около 10 000 «сделок» в день, а для вычисления промежуточного итога требуется около 5-10 десятичных операций (сложение, подстановка, деление, множитель и т. Д.) новый промежуточный итог для каждой полученной сделки, каков будет порядок ошибки округления? Ответ с процедурой для расчета этого также был бы хорош, поэтому я могу научиться делать это для себя в будущем.

1 Ответ

1 голос
/ 02 июля 2010

Что должен знать каждый компьютерщик об арифметике с плавающей запятой подробно описывает оценку ошибки в результате последовательности операций с плавающей запятой с учетом точности типа с плавающей запятой. Я не пробовал это ни в одной практической программе, поэтому мне было бы интересно узнать, возможно ли это.

...