是否有可能在cpp中检查零下0?

时间:2018-02-04 21:06:25

标签: c++

这可能是一个愚蠢的问题,但我真的有一个问题,0和负0。

我正在计算函数的斜率,并且根据向量(向右或向左),它是0或-0。

是否可以执行if条件并找出斜率是0还是-0?执行以下操作无效。

if ( slope == 0.0f )
std::cout << "direction vector towards right";
else if ( slope == -0.0f )
std::cout << "direction vector towards left"

我粗略地没有提供工作源代码,因为我认为这与问题无关。对上述内容的简单回答将有所帮助。

1 个答案:

答案 0 :(得分:10)

您正在寻找std::signbit。两个零都相等,所以你的检查不起作用,但是信号是不同的。