摆脱签名零

时间:2012-10-30 11:56:16

标签: c++ floating-point

我正在进行一些矩阵运算,矩阵元素通过以下方式从某些变量中获取值:

elem[1] = -x

但是当x = 0在矩阵中设置-0时,这是不合需要的。有什么明确的方法可以防止这种情况发生?

1 个答案:

答案 0 :(得分:4)

您可以执行以下操作:

elem[i] = -x + 0.0;

我测试了以下代码:

float a = -0.0; 
printf("%f %f\n", a, a + 0.0);

产生以下输出:

-0.000000 0.000000