gpt4 book ai didi

c++ - 有什么简单的方法可以检查两个数字是否有不同的符号?

转载 作者:IT老高 更新时间:2023-10-28 23:01:29 29 4
gpt4 key购买 nike

我有两个 float ab .我想检查他们是否有不同的迹象。最简单的方法是看

bool b = a * b < 0;

但是这两个数字非常小,a * b 可能会下溢。还有其他简单的检查方法吗?

如果有人认为这是一个重复的问题,请给我一个完全符合条件的答案 a * b < 0 .请注意,我的问题中未定义 0 的符号。

最佳答案

您可以使用 std::signbit如下:

bool c = std::signbit(a) == std::signbit(b);

LIVE DEMO

另一种方法是使用 std::copysign如下:

bool c = std::copysign(a,b) == a;

关于c++ - 有什么简单的方法可以检查两个数字是否有不同的符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34030969/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com