使用浮点数时使用运算符有什么不对。我们不能使用' ==' '< ='具有浮点数的等运算符?
这是代码。
# include <iostream>
using namespace std;
main(){
float x, y, z;
cout<<"1st integer: ";
cin>>x;
do {
cout<<"2nd integer: ";
cin>>y;
if(y<=0 ){
cout<<"You can't divide by zero"<<endl;
continue;
} else {
break;
}
} while (1);
z = x/y;
cout<<"Result: "<<z;
}
它会产生正确的结果,因为我想得到。但是从某些地方我听说使用具有浮点数的运算符不是一个好逻辑。为什么呢?
答案 0 :(得分:-1)
你做得很好。你需要警惕的是使用带有浮点的等于运算符==
,因为结果可能会让你感到惊讶(例如0.1 + 0.2 != 0.3
)。
但使用>
,>=
,<=
,<
没有问题。
答案 1 :(得分:-1)
您可以安全地将浮点数与精确零相比较。这样可以防止除以零。
您无法检查x==0.1
然后除以x-0.1
。由于0.1不能精确表示,因此您可以在一个未知的方向上进行舍入。