Il n'y a pas de contradiction: la norme autorise à ne pas définir le type int8_t si on nwa pas envie de l'implémenter (par exemple parce que c'est compliqué à faire). Elle autorise aussi à l'implémenter de façon compliquée et lente.
Pas mal de choses en C sont ainsi laisséesau choix de l'implémentation, comme par exemple le nombre de bits dans un char. Sur certaines choses, le choix était laissé avant et ce n'est plus le cas: l'utilisation d'autre chose que le complément à 2 pour les nombres négatif, le comportement de l'opérateur modulo avec un opérande négatif, par exmple.
[^] # Re: Question probablement bête
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal #define CHAR_BIT 8. Évalué à 5.
Il n'y a pas de contradiction: la norme autorise à ne pas définir le type int8_t si on nwa pas envie de l'implémenter (par exemple parce que c'est compliqué à faire). Elle autorise aussi à l'implémenter de façon compliquée et lente.
Pas mal de choses en C sont ainsi laisséesau choix de l'implémentation, comme par exemple le nombre de bits dans un char. Sur certaines choses, le choix était laissé avant et ce n'est plus le cas: l'utilisation d'autre chose que le complément à 2 pour les nombres négatif, le comportement de l'opérateur modulo avec un opérande négatif, par exmple.