Discussion

Les points 1, 2, 3 sont faciles à comprendre : si les deux opérandes sont flottants, celui de moindre précision est converti dans le type de l'autre. Si un seul des opérandes est de type flottant, l'autre est converti dans ce type.

On aborde le point 4 si les deux opérandes sont des variétés d'entiers courts, normaux ou longs, signés ou non signés. On applique alors la promotion des entiers, de manière à se débarrasser des entiers courts. À la suite de cela, il n'y plus comme types possibles que int, unsigned int, long int et unsigned long int.

Si l'on excepte les cas où les deux types sont identiques, le reste des règles peut se résumer dans le tableau suivant :

opérande opérande résultat
unsigned long int quelconque unsigned long int
long int unsigned int
long int

unsigned long int
long int int long int
unsigned int int unsigned int

Matthieu Moy 2017-02-08