除了精度之外,有人可以向我解释一下double 和 long double之间的差异吗? 我编写了一个程序来解决重力n体问题,所以基本上要对2阶微分方程进行积分,而我的程序使用double工作得很好。 但是当我用long double替换所有我使用的double时,所有计算似乎都产生了荒谬的结果。 有人可以解释这个原因吗?
与大家似乎认为的相反,我在“long double vs double”线程中找不到我正在寻找的答案。
除了精度之外,有人可以向我解释一下double 和 long double之间的差异吗? 我编写了一个程序来解决重力n体问题,所以基本上要对2阶微分方程进行积分,而我的程序使用double工作得很好。 但是当我用long double替换所有我使用的double时,所有计算似乎都产生了荒谬的结果。 有人可以解释这个原因吗?
与大家似乎认为的相反,我在“long double vs double”线程中找不到我正在寻找的答案。
double
和long double
之间的区别,但这个问题已经被回答过了,并且答案并不能解决你的问题。你应该问的问题是:“我在使用long double
时做错了什么”,然后展示能够说明你问题的代码。 - Fred Larsonx == 0.
而应该始终测试abs(x) < epsilon
,其中epsilon由你需要的精度给出 - 但你也可以查看这个其他的SO帖子。 - Serge Ballesta