Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Can';inf&x27;分配给变量,如c+中的常规数值+;_C++_Floating Point_Double_Divide By Zero - Fatal编程技术网

C++ Can';inf&x27;分配给变量,如c+中的常规数值+;

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看来我可以

当我编写以下代码时,它不会导致运行时错误,而是输出“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, 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?对不起,我的错。这是一个错误。