我们目前正在使用System.Decimals来表示我们正在开发的.NET应用程序中的数字。我知道小数是为了最小化由于舍入引起的错误而设计的,但是我也知道某些数字,例如1/3,不能表示为小数,因此一些计算将具有小的舍入误差。我相信这个错误的幅度非常小而且微不足道,但同事不同意。因此,我希望能够估计由于我们的应用程序中的舍入而导致的错误的数量级。例如,假设我们正在计算“交易”的运行总数,并且每天将执行大约10,000次“交易”,并且有大约5-10个十进制操作(add,sub,div,mul等)来计算运行总计收到的每笔交易的新运行总额,圆形错误的大亨顺序是什么?计算这个程序的答案也很好,所以我可以在将来学习如何为自己做这个。
答案 0 :(得分:1)
What Every Computer Scientist Should Know About Floating-Point Arithmetic详细说明了浮点运算序列结果中的误差。我没有在任何实际程序上试过这个,所以我很想知道它是否可行。