Bonjour,
j'ai un comportement étrange d'un cast dans un programme C++.
J'ai fais un petit programme de test en C pour essayer de comprendre :
Code :
- #include <stdio.h>
- int main () {
- double i = 1.2 ;
- printf("float value : %f\n",i*10);
- printf("int value : %i\n",(int)(i*10));
- return 0 ;
- }
|
le programme compilé avec gcc me donne :
float value : 12.000000
int value : 11 |
si je declare i comme float j'obtiens :
float value : 12.000000
int value : 12 |
Comme cela se fait-il ?
J'ai lu le topic ci dessous, mais je sais pas trop si il y a un rapport.
http://forum.hardware.fr/forum2.ph [...] subcat=386
Message édité par jerem38 le 28-01-2005 à 04:15:42