Dans cette section, nous comprendrons ce qu'est un champ de bits en langage C.
Supposons que votre programme C contienne de nombreuses variables VRAI/FAUX regroupées dans une structure appelée state comme suit -
1 2 3 4 |
|
La structure nécessite 8 bits d'espace mémoire, mais en réalité, nous stockerons dans chaque variable 0 ou 1. Dans ce cas, le langage de programmation C offre une meilleure façon d’utiliser l’espace mémoire.
Si vous utilisez de telles variables dans une structure, vous pouvez définir la largeur de la variable pour indiquer au compilateur C que vous utilisez uniquement ce nombre de bits. Par exemple, la structure ci-dessus peut être réécrite comme suit -
1 2 3 4 |
|
La structure ci-dessus nécessite 4 bits d'espace mémoire pour la variable d'état, mais n'utilise que 2 bits pour stocker la valeur.
Si vous utilisez jusqu'à 32 variables, chaque variable a une largeur de 1 bit, alors la structure d'état utilisera également 4 bits. Cependant, une fois que vous avez 33 variables, il alloue l'emplacement de mémoire suivant et commence à utiliser 8 bits. Vérifions l'exemple suivant pour comprendre le concept -
Démonstration en direct
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
1 2 |
|
La déclaration de champ de bits a la forme suivante à l'intérieur de la structure -
1 2 3 |
|
Le tableau suivant décrit les champs de bits L'élément variable -
élément | description |
---|---|
type | détermine comment le type entier de la valeur du champ de bits est interprété. Le type peut être un entier, un entier signé ou un entier non signé. |
member_name | Le nom du champ de bits. |
Largeur | Le nombre de chiffres dans le champ de bits. La largeur doit être inférieure ou égale à la largeur en bits du type spécifié. |
Une variable définie avec une largeur prédéfinie est appelée un champ de bits. Un champ de bits peut contenir plusieurs bits ; par exemple, si vous avez besoin d'une variable pour stocker des valeurs de 0 à 7, vous pouvez alors définir un champ de bits d'une largeur de 3 bits comme indiqué ci-dessous -
1 2 3 |
|
La définition de la structure ci-dessus indique C compilateur, la variable age n'utilisera que 3 bits pour stocker la valeur. Si vous essayez d’utiliser plus de 3 bits, cela ne vous permettra pas de le faire. Essayons l'exemple suivant -
Démonstration en direct
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
1 2 3 4 |
|
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!