Les champs de bits, même si ça fait penser à quelque chose de pas très… et bien non, les champs de bits sont bien un concept informatique, c’est une méthode d’accès au différents bits d’une variable.
A l’heure actuelle, pour accéder à un bit on utilise les masques.
Pour utiliser un champ de bits, il faut commencer par le définir :
Pour l’utilisation cela se fait comme pour n’importe quelle variable, mais dans le cas où l’on veut que le champ de bits soit encapsuler dans une seule variable, il faut le définir dans une structure :
Ici aussi l’utilisation se fait comme à notre habitude, mais alors à quoi cela sert-il ? Plusieurs réponses, la première c’est pour l’optimisation, utiliser 8 bits pour un flag qui ne peut prendre que deux valeurs c’est du gâchis. La seconde raison c’est qu’on peut accéder à tout le champ de bit d’un seul coup avec la seconde méthode.
Attention toutes fois, d’après ce qu’on m’a expliqué, les champs de bits ne sont pas très bien définis, et il arrive que selon le compilateur, le MSB (Most Significant Bit) et LSB (Less Significant Bit) soit inversé. Il est donc recommandé de faire un test avec son compilateur avant de les utiliser.