73 votes

Opérateur binaire pour simplement retourner tous les bits d’un entier?

Je dois retourner tous les bits dans une représentation binaire d’un entier. Donné:

La sortie doit être

Quel est l’opérateur binaire pour accomplir cela lorsqu’il est utilisé avec un entier ? Par exemple, si j’écrivais une méthode comme `` , qu’est-ce qui irait dans le corps? Je dois retourner seulement ce qui est déjà présent dans le nombre, pas tous les 32 bits dans l’entier.

93voto

Ignacio Vazquez-Abrams Points 312628

L’opérateur unaire est la négation binaire. Si vous avez besoin de moins de bits que ce qui rentre dans un, vous devrez le masquer `` après coup.

44voto

George Points 2224

Utilisez simplement l’opérateur bitwise not `` .

Pour utiliser les k bits les moins significatifs, convertissez-les en masque de droite.
(Je suppose que vous voulez au moins 1 bit bien sûr, c’est pourquoi le masque commence à 1)

Comme suggéré par Lưu Vĩnh Phúc, on peut créer le masque `` au lieu d’utiliser une boucle.

21voto

Peter Lawrey Points 229686

Il existe plusieurs façons de retourner tout le bit à l’aide d’opérations

5voto

serge boisse Points 41

solution plus rapide et plus simple :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X