Ниже заставляет меня путать -Путаница C++ операции умножения
Если умножить float
с 10 (integer
) посмотреть, что случилось, также эти виды деятельности кажется странным!
#include <iostream>
using namespace std;
int main()
{
float x1 = 0.1;// x1 *10 = 1 ture
float x2 = 0.7;//x2 *10 = 7 false answer give 0.6
float x3 = 0.8;//x3 *10 = 8 true
float x4 = 0.9;// x4 * 10 = 9 false ops! the answer is 8
int f = x4 * 10 ;
cout<<f ;
return 0;
}
Может ли кто-нибудь объяснить?
Ну, [ideone] (http://ideone.com/P4cCX2) выводит '9'. –
Вы сохраняете возвращаемое значение как int не как float. – woodlumhoodlum
Вы копируете тот же код? –