
Envoyé par
Swoög
C'est vrai, si on se restreint strictement au standard C et C++, un char a une taille d'un byte, c'est à dire, le nombre minimal de bits nécessaire pour coder tous les caractères utilisés.
C'est quoi cette définition bizarre ?
D'après les standards C et C++, un byte fait au moins 8 bits, ce qui signifie qu'il peut en fait nécessiter plusieurs bytes au niveau hardware pour les machines où ceux-ci sont plus petits (au sens hardware du terme, un byte est l'espace mémoire addressable le plus petit).
Je ne vois pas où se situe "le nombre minimal de bits nécessaire pour coder tous les caractères utilisés". D'ailleurs d'après Unicode, ce serait 21.
Mais le plus souvent, c'est un octet, il est très qu'une autre unité soit utilisée...
Sur les processeurs modernes, il n'y a guère que quelques processeurs spécialisés (souvent en temps réel) où ce n'est pas un octet.
Ou bien meme un type de 32bits et l'initialiser avec une valeur hexadecimal?
uint32_t foo = 0x00000001;
ou similaire...
Partager