c – 防止舍入错误
作者:互联网
我刚刚读到关于C中的舍入错误.所以,如果我正在制作一个数学紧张的程序(或任何重要的计算),我应该将所有浮点数放在一起并仅使用双打,还是有更简单的方法来防止舍入错误?
解决方法:
义务讲座:What Every Programmer Should Know About Floating-Point Arithmetic.
另外,请尝试阅读IEEE Floating Point standard.
你总会得到四舍五入的错误.除非你使用无限的任意精度库,比如gmplib.你必须决定你的应用程序是否真的需要这种努力.
或者,您可以使用整数运算,仅在需要时转换为浮点数.这仍然很难做,你必须决定它是否值得.
最后,您可以使用float或double,注意不要在表示精度的极限上假设值.我希望this Valgrind plugin实现(grep for float)……
标签:rounding-error,c 来源: https://codeday.me/bug/20190726/1542314.html