- Si un opérande est de type long double, l'autre opérande est
converti en long double.
- Sinon si un opérande est de type double, l'autre opérande est
converti en double.
- Sinon si un opérande est de type float, l'autre opérande est
converti en float.
- Sinon la promotion des entiers est réalisée sur les deux opérandes.
Ensuite :
- a.
- Si un opérande est de type unsigned long int, l'autre
opérande est converti en unsigned long int.
- b.
- Sinon, si un opérande est de type long int et l'autre
de type unsigned int, alors :
- -
- si un long int peut représenter toutes les valeurs
d'un unsigned int, l'opérande de type
unsigned int est converti en long int.
- -
- sinon, les deux opérandes sont convertis en
unsigned long int.
- c.
- Sinon, si un opérande est de type long int, l'autre
opérande est converti en long int.
- d.
- Sinon, si un opérande est de type unsigned int, l'autre
opérande est converti en unsigned int.
- e.
- Sinon, les deux opérandes sont de même type, et il n'y a pas
de conversion à réaliser.
Matthieu Moy
2017-02-08