Я хочу определить (в С++), если одно число с плавающей точкой является мультипликативным, обратным к другому числу с плавающей запятой. Проблема в том, что для этого я должен использовать третью переменную. Например, этот код:
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;
выводит: "они...", что правильно.
почему это происходит?