Accéder aux bits individuels dans un char c ++
Comment pourrais-je aller sur l'accès à l'individu de bits à l'intérieur d'un c++, char
ou c++ d'un autre type, par exemple.
source d'informationauteur AnotherProgrammer
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez accéder à peu
N
:Obtenir:
(INPUT >> N) & 1;
Ensemble:
INPUT |= 1 << N;
Unset:
INPUT &= ~(1 << N);
Bascule:
INPUT ^= 1 << N;
Vous utilisez les opérateurs binaires
|
(ou),&
(et) et^
(xor) pour les mettre. Pour définir le troisième bit de la variablea
vous tapez, par exemple:Noter que 4 de la représentation binaire est 0100
Qui est très facile
Disons que vous avez besoin d'accéder aux différents bits d'un entier
Créer un masque comme ça
int mask =1;
maintenant, anding votre numberwith ce masque donne de la valeur à la zeroth peu
afin d'accéder à l'ensemble de bits à ith position (index commencer à partir de zéro) , simplement et avec (masque<
source d'information