avoid rounding error (floating specifically) c++

前端 未结 6 1633
耶瑟儿~
耶瑟儿~ 2021-02-04 12:54

http://www.learncpp.com/cpp-tutorial/25-floating-point-numbers/ I have been about this lately to review C++.

In general computing class professors tend not to cover thes

6条回答
  •  耶瑟儿~
    2021-02-04 13:43

    Most floating point output routines look to see if the answer is very close to being even when represented in base 10 and round the answer to actually be even on output. By setting the precision in this way you are short-circuiting this process.

    This rounding is done because almost no answer that comes out even in base 10 will be even (i.e. end in an infinite string of trailing 0s) in base 2, which is the base in which the number is represented internally. But, of course, the general goal of an output routine is to present the number in a fashion useful for a human being, and most human beings in the world today read numbers in base 10.

提交回复
热议问题