suivant: Transtypage
monter: Opérateurs et expressions
précédent: Précédences
  Table des matières
  Index
Conversions arithmétiques
L'évaluation d'une expression arithmétique additive
ou multiplicative comporte une phase de conversion. Quand les opérandes
d'une opération ne sont pas de même type (par exemple un int et
un float), il y a conversion implicite de
l'un d'eux dans le type de l'autre ; par exemple, int +
float est converti en float + float. Cette
conversion implicite est une promotion, elle se
fait toujours de sous-type vers sur-type : de int vers
float, de float vers double. Plus exactement
:
- si l'un des deux opérandes est de type double, l'autre est
converti en double et le résultat est un double ;
- sinon, si l'un des opérandes est de type float, l'autre est
converti en float et le résultat est un float ;
- sinon, si l'un des opérandes est de type long, l'autre est
converti en long et le résultat est un long ;
- sinon (les types des opérandes sont byte, short
ou char), les deux opérandes sont convertis en int et le résultat est un int.
L'évaluation des opérations unaires + et - comporte
aussi une promotion de leur opérande en int si son type est
byte, short ou char. Par conséquent, dès
qu'une expression comporte une opération arithmétique, son type ne peut
pas être byte, short ou char.
suivant: Transtypage
monter: Opérateurs et expressions
précédent: Précédences
  Table des matières
  Index
Rene' LALEMENT
2002-11-07