Calculatrice binaire (bit à bit)
AND, OR, XOR, NOT et décalages de bits sur des entiers 32 bits, avec visualisation bit par bit
Opérandes
Opération
Résultat
12 & 10Motif 32 bits du résultat
Les valeurs sont traitées comme des entiers 32 bits. Le décimal signé interprète le bit de poids fort comme un signe (complément à deux) ; le décimal non signé lit les 32 bits comme une grandeur positive. Le décalage à droite est logique (des zéros sont insérés à gauche).
À propos de cet outil
La calculatrice bit à bit permet aux développeurs et aux étudiants en informatique de calculer AND, OR, XOR, NOT et les décalages à gauche et à droite sur deux entiers. Saisissez chaque opérande en binaire, décimal ou hexadécimal et le résultat s'affiche d'un coup dans les trois bases, avec une carte de 32 bits en direct qui montre exactement quels bits changent. Conçu pour déboguer des indicateurs et des masques de bits, gérer des permissions, compacter des données et apprendre comment les ordinateurs manipulent les bits au plus bas niveau.
Comment l'utiliser
- 1 Saisissez l'opérande A et choisissez sa base (binaire, décimal ou hex).
- 2 Choisissez une opération : AND, OR, XOR, décalage à gauche/droite ou le NOT unaire.
- 3 Pour les opérations à deux opérandes, saisissez l'opérande B ; pour un décalage, le nombre de bits.
- 4 Lisez le résultat en décimal, non signé, hex et binaire, et examinez les bits mis en évidence.
Comment ça marche
Les opérations bit à bit agissent indépendamment sur chacun des 32 bits. AND met un bit de résultat à 1 seulement si les deux bits d'entrée valent 1, ce qui sert à masquer (conserver) des bits choisis. OR met un bit à 1 si l'un des bits d'entrée vaut 1, ce qui sert à activer des indicateurs. XOR met un bit à 1 seulement si les deux bits d'entrée diffèrent, ce qui est parfait pour inverser des bits et pour des sommes de contrôle simples. NOT est unaire : il inverse chaque bit, transformant 0 en 1 et 1 en 0. Un décalage à gauche (<<) déplace tous les bits vers le poids fort et comble avec des zéros, ce qui multiplie par deux à chaque position ; un décalage logique à droite (>>) les déplace dans l'autre sens et comble aussi avec des zéros. Comme les nombres négatifs sont stockés en complément à deux, les mêmes 32 bits se lisent comme une valeur signée (le bit de poids fort est le signe) ou non signée, c'est pourquoi cet outil affiche les deux. Par exemple 12 AND 10 = 8, 12 OR 10 = 14, 12 XOR 10 = 6, 1 << 4 = 16, et NOT 0 donne des 1 partout, soit -1 signé ou 4294967295 non signé.
Questions fréquentes
Quelle est la différence entre AND, OR et XOR ?
AND ne conserve un bit que si les deux opérandes l'ont activé, ce qui sert à effacer ou tester des bits avec un masque. OR active un bit si l'un des opérandes l'a, ce qui sert à allumer des bits. XOR active un bit seulement si exactement un opérande l'a, ce qui inverse les bits et détecte les différences.
Pourquoi NOT 0 affiche -1 et aussi 4294967295 ?
NOT inverse les 32 bits, donc 0 devient trente-deux 1. Lu comme un entier signé en complément à deux, ce motif vaut -1 ; lu comme un entier non signé 32 bits, il vaut 4294967295. Les deux décrivent les mêmes bits.
Que font réellement les décalages à gauche ou à droite ?
Un décalage à gauche de n déplace chaque bit de n positions vers le poids fort et comble avec des zéros, ce qui multiplie par 2 puissance n. Un décalage logique à droite de n les déplace dans l'autre sens et comble avec des zéros, ce qui divise par 2 puissance n les valeurs non négatives.
Pourquoi tout est limité à 32 bits ?
Les opérateurs bit à bit de JavaScript et la plupart des registres entiers des processeurs travaillent sur des mots de 32 bits, et cet outil reproduit ce comportement. Les quantités de décalage sont prises modulo 32 et les valeurs reviennent au début dans la plage 32 bits, exactement comme en C, Java ou JavaScript.
Outils et usages connexes
Pour convertir une seule valeur entre binaire, octal, décimal et hex, utilisez le convertisseur de bases numériques. Pour les codes de caractères, voyez le convertisseur ASCII, et pour les masques de couleur le convertisseur de codes couleur.