Ca pourrait être vrai si le byte dont du parles faisait un octet
Ce n'est pas à toi que je vais l'apprendre, mais la norme ne spécifie pas la taille d'un byte - celle-ci est laissée à l'appréciation du vendeur de compilateur. Vu le codage ascii courant, je pense qu'une implémentation pourrait fixer que cette taille est au minimum de 7 bits (c'est suffisant, il me semble, pour stocker l'intégralité du source code character set ; mais ça devrait être vérifié).Par contre, rien n'interdit que le byte fasse 32 bits (avec toujours sizeof(char) == 1) pour des raisons d'optimisation sur une architecture ne supportant pas les lectures non-alignées. Du coup, le probleme de l'endianness se poserait.
Un bémol toutefois : les développeurs ne programment que rarement avec le standard à l'esprit, et du coup, nombreux sont ceux qui considèrent que sizeof(char) = 1 byte = 1 octet. Même si cette relation est fausse, elles est supposée dans tant de programme qu'il y a peu de chance de voir un jour une architecture répandue (ARM, MIPS, x86 ou ia64, pour n'en citer que quelques unes) passer autre chose.
Partager