我今天没吃药感觉自己萌!萌!哒!

是这样的。。。
我今天写的代码里有这么个东西

double d=sqrt( (double)(r*r) - (double)(a-b)*(a-b) );

其中r,a,b都是int.

。。。。。。。。。
有什么问题么?
没有吧。。。

问题在于r比较小的时候没问题。
r如果大一点,r*r就爆炸了。。。

但是,如果我们写成

double d=sqrt( (double)r*r - (double)(a-b)*(a-b) );

就没问题了。因为double比较大。。。

其实要是没有double在这里面可能就注意到了乘法爆炸的问题,但是因为是在写计算几何,各种double,就忘了这事了。。。
FKU....

posted @ 2014-08-28 20:41  wsc500  阅读(134)  评论(0编辑  收藏  举报