L'opérateur bitwise fonctionne avec des bits et effectue progressivement les opérations. Les opérateurs de changement exécutent la transition requise de l'opérateur de gauche à l'opérateur droit. L'opérateur approprié doit être positif. Les bits qui ont été laissés vides sont remplacés par zéro.
Nous acquérons un chiffre binaire et déplacons sa valeur vers l'adversaire chaque fois que nous inversons un peu. Voyons comment échanger des bits en C:
Utilisation de l'opérateur bitwise pour inverser chaque bit d'un entier:
Basculer ou inverser l'état de bit existant est considéré comme un peu de retournement. Nous exécutions une boucle commençant 0 à la mesure de l'entier et échangerions chaque bit un à la fois pour inverser chaque élément des valeurs binaires.
D'un autre côté, le langage de programmation C offre un opérateur de complément ~ qui peut être utilisé pour cette tâche. Bitwise Complément examine la composante de l'argument bit. Alors que, si la valeur appropriée de l'opérande est 0, elle se convertit en 1; Ou bien, il attribue à 0. Voici un programme C qui contient et inverse chaque élément d'un numéro binaire à l'aide d'un opérateur bitwise ~.
#inclure
int main()
int n, flipplipnum;
printf ("Entrez un nombre:");
scanf ("% d", & n);
flipplipnum = ~ n;
printf ("nombre réel =% d (en décimal) \ n", n);
printf ("valeur après retournement des bits =% d (en décimal)", flipplipNum);
retour 0;
Dans cet exemple, tout d'abord, nous incluons la bibliothèque . Ensuite, nous appelons la fonction principale (). Ici, nous initialisons deux variables. Une variable, «n», a un type de données entier, et l'autre variable, «flipplipnum», stocke la valeur que nous voulons retourner.
En plus de cela, nous utilisons la fonction printf () pour afficher l'instruction «Entrez un nombre». L'utilisateur entre donc toute valeur de son propre choix. La méthode scanf () est appelée. Cette méthode est utilisée pour indiquer les données configurées. Nous appliquons la commande «flipplipNum» afin que la valeur saisie par l'utilisateur soit renversée. Nous retournons les bits en utilisant le signe du complément bitwise ~.
À l'étape suivante, la méthode printf () est d'abord appliquée pour imprimer le numéro réel, puis il imprime la valeur après avoir ravivé les bits du numéro entré. Nous terminons le programme par commande de retour 0.
Utiliser pour Loop pour retourner les bits:
Nous itérons à travers chacun des bits du nombre. Nous prenons un entier non signé, retournons chacun de ses éléments, et obtenons l'intégralité des bits retournés dans ce scénario.
#inclure
#inclure
unsigned int Revbits (unsigned int n)
unsigned int number_of_bits = sizeof (n) * 8;
unsigned int rev_num = 0, j, temp;
pour (j = 0; j < NUMBER_OF_BITS; j++)
temp = (n & (1 << j));
si (temp)
Rev_num | = (1 << ((NUMBER_OF_BITS - 1) - j));
return rev_num;
int main()
int a = 5;
printf ("% u", revbits (a));
getChar ();
Ici, nous allons démarrer le programme en intégrant les fichiers d'en-tête et . Ici, nous passons la variable «Unsigned N», qui a un type de données entier. Nous déclarons une nouvelle variable qui stocke le nombre de bits. Ici, nous multiplions la taille de l'entier par 8. Ensuite, nous initialisons une variable 'Rev_num' qui stocke le numéro inversé.
Nous initialisons également une variable pour les variables «pour la boucle» et la «température» qui maintient temporairement la valeur inversée de l'entier défini. En plus de cela, nous utilisons une boucle. Nous déclarons une variable «J» dans la boucle et appliquons la condition sur la variable que sa valeur doit être inférieure à plusieurs bits. La dernière partie de la boucle FOR montre une augmentation de la valeur de la variable «J». Ensuite, nous utilisons la condition «IF» sur la variable «temporaire». Cela montre que si 'rev_n' n'est pas égal au nombre de bits, alors l'instruction de retour renvoie la valeur de 'Rev_n',
De plus, la fonction principale () est appliquée pour tester la méthode susmentionnée. Maintenant, nous initialisons la variable «non signée» ayant un type de données entier. La méthode printf () affiche désormais la valeur de l'entier après avoir inversé les bits. En fin de compte, nous utilisons la fonction getchar (). Ici, la méthode getchar () ne prend qu'un seul personnage comme argument.
Utiliser pendant la boucle pour retourner les bits:
Ici, nous devons continuer à ajouter les bits d'un entier en nombres inverses jusqu'à ce que l'entier égal à zéro. Échangez les bits restants du numéro inverse une fois que le nombre défini a frappé zéro.
#inclure
#inclure
unsigned int Revbits (unsigned int n)
unsigned int count = sizeof (n) * 8 - 2;
unsigned int rev_n = n;
n >> = 2;
tandis que (n)
rev_n = 2;
compter--;
rev_n <<= count;
return rev_n;
int main()
non signé int a = 7;
printf ("% u", revbits (a));
getChar ();
Au début du programme, nous incorporons les fichiers d'en-tête et . Ensuite, nous définissons une fonction qui inverse les bits. La variable 'Unsigned N' a un type de données entier; Ainsi, nous le fournissons ici. Nous créons une nouvelle variable pour conserver le nombre du nombre de bits. La taille de l'entier est multipliée par huit dans ce cas. Ensuite, nous acquérons une variable appelée 'Rev_num' pour contenir le numéro inversé.
Nous avons également construit une variable pour la boucle while et appliqué la condition sur cette variable. En plus de cela, nous utilisons une boucle de temps. Dans la boucle while, nous utilisons la condition que si le «Rev_N» est inférieur ou égal à 2 ou si le «Rev_n» n'est pas égal à la valeur de «N», nous diminuons le nombre. C'est ainsi que nous obtenons la valeur de "Rev_n '.
Maintenant, nous appliquons la fonction principale (), et ici, nous allons initialiser la variable «non signée A» en définissant la valeur de cette variable. Le type de données de cette variable est un entier. Après avoir inversé les bits, la méthode printf () renvoie le résultat. De plus, nous avons utilisé la fonction getchar ().
Conclusion:
Dans cet article, nous avons examiné les méthodes de retournement des bits dans la langue C. Dans la première situation, nous prenons tout entier de l'utilisateur, puis nous utilisons l'opérateur bitwise ~ pour inverser tous les bits du numéro défini. Ensuite, nous observons comment retourner les bits en utilisant pour et pendant que la boucle.