C++ Can';inf&x27;分配给变量,如c+中的常规数值+;
当我编写以下代码时,它不会导致运行时错误,而是输出“inf”。现在,有没有办法将这个值('inf')赋值给一个变量,比如普通的数值?如何检查除法是否产生“inf”C++ Can';inf&x27;分配给变量,如c+中的常规数值+;,c++,floating-point,double,divide-by-zero,C++,Floating Point,Double,Divide By Zero,当我编写以下代码时,它不会导致运行时错误,而是输出“inf”。现在,有没有办法将这个值('inf')赋值给一个变量,比如普通的数值?如何检查除法是否产生“inf” #include<iostream> int main(){ double a = 1, b = 0; std::cout << a / b << endl; return 0; } #包括 int main(){ 双a=1,b=0; std::cout看来我可以
#include<iostream>
int main(){
double a = 1, b = 0;
std::cout << a / b << endl;
return 0;
}
#包括
int main(){
双a=1,b=0;
std::cout看来我可以:
#include<iostream>
int main(){
double a = 1, b = 0, c = 1/0.0;
std::cout << a / b << endl;
if (a / b == c) std::cout << "Yes you can.\n";
return 0;
}
#包括
int main(){
双a=1,b=0,c=1/0.0;
std::cout看来我可以:
#include<iostream>
int main(){
double a = 1, b = 0, c = 1/0.0;
std::cout << a / b << endl;
if (a / b == c) std::cout << "Yes you can.\n";
return 0;
}
#包括
int main(){
双a=1,b=0,c=1/0.0;
std::coutC++不要求实现支持无穷大或零除。许多实现将使用IEEE 754格式,即使它们不完全支持IEEE 754语义
当您想使用无穷大作为值时(也就是说,您想在源代码中引用无穷大),您不应该通过除以零来生成它。相反,应该包括
,并与指定为双精度的T
一起使用
返回由浮点类型T表示的特殊值“正无穷大”。仅当==true
时才有意义
(您还可以看到包含从C继承的
和用法的代码。)
当您想要检查一个数字是否是有限的时,请包括
并使用。请注意,具有无限值的计算最终会产生NaN
s,而std::isfinite(x)
通常比!std::isinf(x)&!std::isnan(x)
更方便
如果您使用的是不安全的编译器标志,最后一个警告:如果您使用,例如GCC(包含在中)。C++不要求实现支持无穷大或零除。许多实现将使用IEEE 754格式,即使它们不完全支持IEEE 754语义
当您想使用无穷大作为值时(也就是说,您想在源代码中引用无穷大),您不应该通过除以零来生成它。相反,应该包括
,并与指定为双精度的T
一起使用
返回由浮点类型T表示的特殊值“正无穷大”。仅当==true
时才有意义
(您还可以看到包含从C继承的
和用法的代码。)
当您想要检查一个数字是否是有限的时,请包括
并使用。请注意,具有无限值的计算最终会产生NaN
s,而std::isfinite(x)
通常比!std::isinf(x)&!std::isnan(x)
更方便
如果您使用的是不安全的编译器标志,最后一个警告:如果您使用,例如GCC(包含在中)。可能重复的可能?可能重复的可能?为什么“inf”应该等于1?对不起,我的错。这是一个错误。为什么“inf”应该等于1?对不起,我的错。这是一个错误。