Un boolean
type normalement suit la plus petite unité de mémoire adressable de la machine cible (c'est à dire généralement les 8 bits de l'octet).
L'accès à la mémoire est toujours en "morceaux" (multiple de mots, c'est pour l'efficacité au niveau du matériel, bus transactions): booléenne bits ne peuvent pas être traitées "seul" dans la plupart des systèmes à UC. Bien sûr, une fois que les données sont contenues dans un registre, il y a souvent des instructions spéciales pour manipuler des bits de façon indépendante.
Pour cette raison, il est très fréquent d'utiliser des techniques de "bits d'emballage" dans le but d'accroître l'efficacité dans l'utilisation de "boolean" types de données de base. Une technique comme enum
(en C) avec une puissance de 2 codage est un bon exemple. Le même genre de truc est trouvé dans la plupart des langues.
Mise à jour: Grâce à une excellente discussion, il a été porté à mon attention qu' sizeof(char)==1
par définition en C++. Par conséquent, l'adressage d'un "boolean" type de données est assez liée à la plus petite unité de mémoire adressable (renforce mon point de vue).