L'étude des conversions C J'ai trouvé un paragraphe sur les promotions entières que je comprends pas très bien, il est dit:A propos des promotions entières
"Integer types smaller than int are promoted when an operation is performed on them. If all values of the original type can be represented as an int, the value of the smaller type is converted to an int; otherwise, it is converted to an unsigned int"
Considérant que:
la le rang de tout type entier non signé est égal au rang du type entier signé correspondant
Le rang de long long int est supérieur au rang de long int, qui est supérieur au rang de int, qui est supérieur au rang de short, qui est supérieur au rang de char signé.
les questions sont: Pourquoi un type plus petit que int ne doit pas être représenté par un int? et pourquoi un entier non signé peut représenter une valeur qu'un int ne devrait pas représenter?
Merci d'avance.
Essayez-vous de comprendre pourquoi quelqu'un préférerait, disons, un court sur un int? – kevin628