我找到了这个网址:http://en.cppreference.com/w/cpp/numeric/math/isinf,但它似乎只检查正无穷或负无穷。 我想检查一个值是否恰好等于负无穷,或者换句话说,是否为log(0)。
谢谢您的回答!基于以下响应,下面是一些代码,显示可行方法。
谢谢您的回答!基于以下响应,下面是一些代码,显示可行方法。
#include <iostream>
#include <cmath>
#include <math.h>
using namespace std;
int main()
{
double c = std::log(0.0);
auto result = c == - INFINITY;
cout << result << endl;
return 0;
}
isinf
和< 0
怎么处理? - Sinkingpointa/2
仍然是无限大,而如果a是MAX_VALUE
(有限的),则它将是一个有限的数字;b) 如果两者都是无限大,则a/b
是NaN
,而如果两者都是MAX_VALUE
,则它将是1
。 - Stefano Sanfilippo