Probléme bizarre eb c++
Résolu/Fermé
Anis
-
10 août 2007 à 20:10
mamiemando Messages postés 32283 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 mars 2023 - 10 août 2007 à 21:03
mamiemando Messages postés 32283 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 mars 2023 - 10 août 2007 à 21:03
A voir également:
- Probléme bizarre eb c++
- Epson eb-fh06 audio out ✓ - Forum Connectique vidéo
- Eb s02 epson ✓ - Forum Vidéo/TV
- Convertir youtube eb mp3 - Guide
- Code eb western union ✓ - Forum Vos droits sur internet
- Umb upper limit segement adress eb 10 - Forum Windows
2 réponses
mamiemando
Messages postés
32283
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
17 mars 2023
7 572
10 août 2007 à 20:27
10 août 2007 à 20:27
Non c'est normal car 1/2 est un int (donc vaut 0) et 0.5 est un flottant (cond vaut 0.5). Si tu veux utiliser l'écriture fractionnaire il faut que le numérateur soit un flottant (ou multiplié à gauche par 1.0)
Exemple
Donne à l'exécution :
Bonne chance
Exemple
#include <iostream>
int main(){
double x = 0.5, y = 1/2, z = 1.0/2;
std::cout << " x = " << x << " y = " << y << " z = " << z << std::endl;
return 0;
}
Donne à l'exécution :
x = 0.5 y = 0 z = 0.5
Bonne chance
mamiemando
Messages postés
32283
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
17 mars 2023
7 572
10 août 2007 à 21:03
10 août 2007 à 21:03
Non ! 1 / 2 c'est la division dans l'ensemble des entiers, donc c'est normal que ça retourne un entier. 1.0 / 2 c'est la division d'un réel par un entier (que l'on peut assimiler à un flottant), donc ça retourne un réel. C'est juste que pour toi implicitement 1 et 2 sont des réels alors que ce sont deux entiers, donc C++ utilise la division dans l'ensemble des entiers.
Bonne chance
Bonne chance
10 août 2007 à 20:38