Как проверить зависимости поплавков

Я хочу определить (в 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;

будет выводить: «они ...», что правильно.
почему это происходит?

Ответы на вопрос(5)

Ваш ответ на вопрос