关于C#:去除有符号的零

getting rid of signed zero

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

1
elem[1] = -x

,但是当x = 0时,它会在矩阵中设置-0,这是不希望的。有什么明确的方法可以防止这种情况?


您可以执行以下操作:

1
elem[i] = -x + 0.0;

我已经测试了以下代码:

1
2
3
float a = -0.0;
printf("%f %f\
"
, a, a + 0.0);

将产生以下输出:

1
-0.000000 0.000000