Simulateur d'opérations binaires (AND, OR, XOR, NOT, décalage)
Calculez AND, OR, XOR, NOT, décalage à gauche et à droite sur deux nombres, et visualisez exactement quels bits ont changé sur une grille binaire. Prend en charge les largeurs de 8/16/32 bits.
Astuces d'utilisation
- Vous pouvez saisir des valeurs en décimal, ou utiliser un préfixe hexadécimal comme `0x1A` ou binaire comme `0b1010`. Collez les valeurs telles que vous les écririez dans votre code.
- AND, OR et XOR utilisent deux valeurs, tandis que NOT n'en utilise qu'une seule. Le nombre de champs de saisie change automatiquement selon l'opération choisie.
- Le décalage à droite (`>>>`) ne prend en charge ici que la variante logique. Consultez la FAQ pour savoir en quoi elle diffère d'un décalage arithmétique qui conserve le bit de signe.
- Passer la largeur en bits de 8 à 16 puis à 32 permet de voir le même nombre gagner davantage de zéros en tête, ce qui aide à comprendre ce que signifie réellement la « largeur en bits ».
- Les bits surlignés en jaune sont ceux qui ont changé entre A et le résultat : avec AND/OR, on peut ainsi suivre visuellement quelle valeur d'entrée l'a emporté à chaque position.
Questions fréquentes
Anecdote — Les curieuses propriétés du XOR
Les opérations binaires correspondent directement aux circuits logiques d'un ordinateur, ce qui en fait certaines des opérations les plus rapides qu'un processeur puisse exécuter, souvent en un seul cycle d'horloge. Comme elles nécessitent des circuits bien plus simples que des opérations arithmétiques telles que la multiplication ou la division, le code sensible aux performances (traitement d'image, cryptographie, implémentation de protocoles réseau) recourt depuis longtemps à des astuces binaires pour remplacer une arithmétique plus coûteuse.
Le XOR (OU exclusif) possède quelques propriétés amusantes : appliquer XOR à une valeur avec elle-même donne toujours 0 (`a ^ a = 0`), et appliquer XOR avec 0 renvoie la valeur d'origine inchangée (`a ^ 0 = a`). En combinant ces deux faits naît l'astuce classique de « l'échange par XOR », qui permet d'échanger deux variables sans variable temporaire (`a ^= b; b ^= a; a ^= b;`). Elle est aujourd'hui rarement recommandée en production pour des raisons de lisibilité, mais reste un exemple pédagogique apprécié pour comprendre les opérations binaires.
Les masques de bits sont omniprésents dans les systèmes réels. Les permissions de fichiers Unix (lecture=4, écriture=2, exécution=1) relèvent littéralement du OR et du AND binaires en action, et extraire les composantes rouge, verte et bleue d'un code couleur comme `#FF0000` se fait par un décalage à droite combiné à un masque AND. La technique consistant à regrouper de nombreux indicateurs marche/arrêt dans un seul entier, souvent appelée « drapeaux de bits », a été largement utilisée dans d'anciens jeux et systèmes devant suivre de nombreux états avec très peu de mémoire.