C++ 如何在C++;?
和谐的简单方式(A,B)C++ 如何在C++;?,c++,C++,和谐的简单方式(A,B) if(A
if(A
但似乎+INF、.NAN也存在于间歇期你的情况不是间歇期(间歇期)。它在功能上等同于
X < std::min(A, B)
X
你只有上限,没有下限
楠和+INF的行为如何,取决于浮点表示,这不是C++标准指定的,而是CPU专用的。 如果我们假设常用的IEEE-754,那么X=+Inf和X=NaN都不能满足A和B的任何值的条件
这就是检查浮点数是否介于下限和上限之间(但两者都不等于)的方法:
X>低和&X
或
low
同样,如果我们假设IEEE-754,那么对于任何低值和高值,X=+Inf和X=NaN都不能满足这个条件。但是,由于IEEE-754可能无法得到保证,因此未规定此类数字的行为。您可能需要明确支持外来硬件:
low < X && X < high && std::isfinite(X)
low
您的情况不是一个间歇(间歇)。它在功能上等同于
X < std::min(A, B)
X
你只有上限,没有下限
楠和+INF的行为如何,取决于浮点表示,这不是C++标准指定的,而是CPU专用的。 如果我们假设常用的IEEE-754,那么X=+Inf和X=NaN都不能满足A和B的任何值的条件
这就是检查浮点数是否介于下限和上限之间(但两者都不等于)的方法:
X>低和&X
或
low
同样,如果我们假设IEEE-754,那么对于任何低值和高值,X=+Inf和X=NaN都不能满足这个条件。但是,由于IEEE-754可能无法得到保证,因此未规定此类数字的行为。您可能需要明确支持外来硬件:
low < X && X < high && std::isfinite(X)
low
什么是A、B、X
?所有的花车?你怎么能选择A和B里面有INF?Dipason是指区间吗?所有的数字都是浮点数,Dipason是区间实际上我有一个复杂的函数,它应该返回从0到1的值,但有时它返回-1。你的意思是(AA,B,X
?所有的花车?你怎么能选择A和B里面有INF?迪帕森是指区间吗?所有的数字都是浮点数,迪帕森是区间实际上我有一个复杂的函数,它应该返回从0到1的值,但有时它返回-1。你的意思是(A低更可读(因为它更像是用数学方法编写的:low
)。大概OP只是输入了一个错误。但再一次,一个很好的例子说明了如何正确快速地命名事物,表明low>X
没有意义。@Groo关于可能是输入错误的观点很好。我补充了一点说明,在IEEE-754中,如果正确写入间隔,则Inf+和NaN都不能满足条件。有些人还发现low
更具可读性(因为它更类似于用数学方法编写:low
)。大概OP只是输入了一个错误。但再一次,一个很好的例子说明了如何正确快速地命名事物,表明low>X
没有意义。@Groo关于可能是一个输入错误的观点很好。我补充了一点说明,在IEEE-754中,当正确写入间隔时,Inf+和NaN都不满足条件。
low < X && X < high && std::isfinite(X)