Я хочу определить (в C ++), является ли одно число с плавающей запятой мультипликативно обратным другому числу с плавающей запятой. Проблема в том, что для этого мне нужно использовать третью переменную. Например, этот код:
float x=5,y=0.2;
if(x==(1/y)) cout<<"They are the multiplicative inverse of eachother"<<endl;
else cout<<"They are NOT the multiplicative inverse of eachother"<<endl;
выведет: «они не ...», что неверно, а следующий код:
float x=5,y=0.2,z;
z=1/y;
if(x==z) cout<<"They are the multiplicative inverse of eachother"<<endl;
else cout<<"They are NOT the multiplicative inverse of eachother"<<endl;
выведет: «они ...», что верно.
почему это происходит?