Tengo el siguiente código muy simple -una simple pregunta acerca de fundición enteros en C++
int x=15000
int z=0.7*x
cout<<"z = "<<z<<endl;
consigo la salida
z=10499
pero si lo cambio a
int z=0.7*15000
cout<<"z = "<<z<<endl;
salidas
z=10500
entiendo que tiene algo que ver con z lanzando el resultado a int , pero ¿por qué es diferente en ambos casos?
gracias,
Edición - estoy usando Ubuntu 10.10 de GCC construir
Tengo 10500 (gcc 4.2) ... ¿qué compilador estás usando? ¿Es exactamente el código que tienes? – Vladimir