1

我在一些现有的代码库中遇到了这段代码:

double rad = ComputeCurviness();
double off = Math.Abs(rad);
if (rad < 0) off = -off;

它似乎基本上只是使off等于rad。这些变量稍后在代码中可互换使用。有什么理由留下这段代码吗?

4

1 回答 1

6

如果rad为 -0.0,则为off+0.0。您必须检查代码以查看这是否真的会有所作为。两者在计算和比较方面是等价的,但 -0.0 为负数,如果你足够努力就可以检测到。

于 2010-06-15T19:41:22.130 回答