是这样的。。。
我今天写的代码里有这么个东西
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....