Question ambigue

Fermé
QuestionC - 13 mai 2020 à 19:18
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 - 13 mai 2020 à 22:36
float x=5.0/2 , y=(float) 5/2 ;
Est ce que ces deux variables x et y ont ??
  • Le même format de stockage interne.
  • Le même type.
  • La même taille mémoire.
  • La même valeur .

Merci

2 réponses

Whismeril Messages postés 19084 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 30 juin 2024 916
13 mai 2020 à 20:39
0
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
13 mai 2020 à 22:36
Bonjour,

Pour les 3 premières questions : les 2 variables ont un type identique défini par le terme le plus à gauche :
float
.
Pour la dernière, c'est plus ambiguë. Cela dépend des nombres utilisés (ici 5 et 2), car on ne fait pas tout à fait la même chose pour x et y.
x est le résultat de la division du nombre
double
5.0 divisé par l'entier 2 puis converti en
float
.
y est le résultat de la division du nombre
float
5.0f divisé par l'entier 2 qui donne directement un
float
.
Pour 5 et 2 les 2 donnent le même résultat. Mais si on avait
float   z = 2.0 / 5  ,  t = (float)2 / 5;
les 2 valeurs peuvent être légèrement différentes!
0