C++如何避免float误差?
在开始前我有一些资料,是我根据网友给的问题精心整理了一份「c++的资料从专业入门到高级教程」,
点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!
编程领域的计算跟数学领域的计算并不完全等价。完成一个数学意义上的计算,在编程角度可能涉及到更复杂的计算过程。
编程领域的计算往往不是为满足数学意义上的计算而设计。
运算过程中可能出现超越数,无理数,甚至是分母不是二进制整倍的有理数等等情形,都可能出现计算错误或者误差。
类似的情况建议:直接选择数学计算工具(Mathmatica, Matlab, Maple, MathCAD等)而非写C++程序,他们已经帮你解决好了这些问题。
如果一定要直接用 C++ 编程来解决这些,那么你需要自己手动处理所有可能出现超越数(无穷大,无穷小),无理数,无限小数等场景。它并没有你想象的那么容易。
或者请寻找第三方C++库,比如那些专门为数学运算设计的第三方库,然后成为光荣