Langage C
nmrani
-
Mahmah Messages postés 496 Date d'inscription Statut Membre Dernière intervention -
Mahmah Messages postés 496 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
svp si qlq un puisse me dire pourquoi ce petit code donne: I=2.00000 au lieu de I=2.33333
#include<stdio.h>
#include<conio.h>
main()
{
float I;
I=((2*2*2)-(1*1*1))/3;
printf("I= %f",I);
getch();
}
svp si qlq un puisse me dire pourquoi ce petit code donne: I=2.00000 au lieu de I=2.33333
#include<stdio.h>
#include<conio.h>
main()
{
float I;
I=((2*2*2)-(1*1*1))/3;
printf("I= %f",I);
getch();
}
A voir également:
- Langage C
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage visual basic - Télécharger - Langages
- Langage basic gratuit - Télécharger - Édition & Programmation
3 réponses
Bonjour,
Je me permets de compléter un peu...
En C, 2 et 3 sont des entiers. Les opérations sur des entiers donnent un résultat entier. Ainsi 2 / 3 = 0.
0 / 4 = 0
1 / 4 = 0
...
3 / 4 = 0
4 / 4 = 1
...
7 / 4 = 1
8 / 4 = 2
et ainsi de suite.
Pour que le compilateur comprenne bien que 2 est un nombre flottant, il faut lui écrire 2.0f
(On voit parfois 2.f )
ainsi ton opération s'écrit :
I=((2.0f*2.0f*2.0f)-(1.0f*1.0f*1.0f))/3.0f;
Et là tout est clair pour le compilateur.
Ils existent aussi les nombres flottants à double précision (les double) qui eux s'écrivent 1.0, 2.0 et évidemment 2.468476 si on veut.
(on voit parfois 2. )
Voilou, ^^
M.
Je me permets de compléter un peu...
En C, 2 et 3 sont des entiers. Les opérations sur des entiers donnent un résultat entier. Ainsi 2 / 3 = 0.
0 / 4 = 0
1 / 4 = 0
...
3 / 4 = 0
4 / 4 = 1
...
7 / 4 = 1
8 / 4 = 2
et ainsi de suite.
Pour que le compilateur comprenne bien que 2 est un nombre flottant, il faut lui écrire 2.0f
(On voit parfois 2.f )
ainsi ton opération s'écrit :
I=((2.0f*2.0f*2.0f)-(1.0f*1.0f*1.0f))/3.0f;
Et là tout est clair pour le compilateur.
Ils existent aussi les nombres flottants à double précision (les double) qui eux s'écrivent 1.0, 2.0 et évidemment 2.468476 si on veut.
(on voit parfois 2. )
Voilou, ^^
M.
en effet.
merci.