Calculatrice binaire

Effectuez des opérations binaires AND, OR, XOR, NOT et de décalage sur des entiers. Visualisez les résultats en formats binaire, hexadécimal et décimal côte à côte.

0x0000003C · 0b111100

0x0000000D · 0b1101

60 & 13 = 12

A0000 0000 0000 0000 0000 0000 0011 1100
B0000 0000 0000 0000 0000 0000 0000 1101
=0000 0000 0000 0000 0000 0000 0000 1100

Decimal

12

Hexadecimal

0x0000000C

Binary (short)

0b1100

Bitwise Operation Truth Table
ABA & BA | BA ^ B~A
000001
010111
100110
111100

Comment utiliser Calculatrice binaire

  1. 1Entrez deux entiers (A et B) en décimal, binaire (préfixe 0b) ou hexadécimal (préfixe 0x).
  2. 2Sélectionnez une opération binaire : AND, OR, XOR, NOT, décalage à gauche ou décalage à droite.
  3. 3Visualisez le résultat en représentations binaire, hexadécimale et décimale.
ZenovayAnalytics

Analytics pensé pour les fondateurs.

  • Suivi des visiteurs en temps réel
  • Vie privée d'abord, sans bandeau cookies
  • Installé en deux minutes
Découvrir Zenovay

Questions fréquemment posées

Quels sont les opérateurs au niveau des bits ?
Les opérateurs au niveau des bits fonctionnent sur les entiers au niveau binaire (bit). AND (&) : le bit de sortie est 1 uniquement si les deux bits d'entrée sont 1. OR (|) : le bit de sortie est 1 si l'un des bits d'entrée est 1. XOR (^) : le bit de sortie est 1 si exactement un bit d'entrée est 1 (ou exclusif). NOT (~) : inverse chaque bit (complément à 1) ; en JavaScript, NOT utilise des entiers signés 32 bits donc ~5 = -6. Décalage à gauche (<<) : décale tous les bits vers la gauche de N places, équivalent à multiplier par 2^N. Décalage à droite (>>) : décale à droite avec extension de signe ; décalage à droite non signé (>>>) : décale à droite et remplit avec des zéros.
Qu'est-ce qu'un masque de bits et comment est-il utilisé ?
Un masque de bits est un entier utilisé avec des opérateurs au niveau des bits pour définir, effacer ou tester des bits spécifiques. Définir un bit : value | (1 << n) définit le bit n à 1. Effacer un bit : value & ~(1 << n) efface le bit n à 0. Basculer un bit : value ^ (1 << n) inverse le bit n. Tester un bit : (value >> n) & 1 retourne 1 si le bit n est défini. Utilisations pratiques : permissions de fichiers Unix (chmod 755 = 111 101 101 binaire), masques de sous-réseau IP, drapeaux de fonctionnalité compactés dans un seul entier, canaux de couleur RGB, bitmaps d'état de jeu, en-têtes de protocole réseau.
Comment fonctionne XOR et à quoi est-il utilisé ?
XOR (ou exclusif) produit 1 quand les bits diffèrent. Propriétés clés : A ^ A = 0, A ^ 0 = A, commutative et associative. Utilisations pratiques : chiffrement simple (XOR avec une clé pour chiffrer, XOR à nouveau pour déchiffrer — même opération). Trouver l'élément impair : XOR tous les nombres pour trouver celui qui est unique dans un tableau où tout le reste apparaît deux fois. Échange sans variable temp : a ^= b; b ^= a; a ^= b. Checksums CRC (cyclic redundancy check) pour la détection d'erreurs. Calcul du bit de parité.
Pourquoi JavaScript utilise-t-il des entiers 32 bits pour les opérations au niveau des bits ?
Les nombres JavaScript sont des flottants IEEE 754 64 bits, mais les opérateurs au niveau des bits convertissent les opérandes en entiers signés 32 bits avant de fonctionner. Cela signifie : la valeur maximale sécurisée pour les opérations au niveau des bits est 2^31 − 1 = 2 147 483 647. Les nombres au-dessus débordent ou produisent des résultats inattendus. NOT (~) retourne toujours un résultat signé 32 bits — ~0 = -1, ~1 = -2. Le décalage à droite non signé (>>>) retourne un entier non signé 32 bits. Pour les opérations au niveau des bits 64 bits, utilisez BigInt : 100n & 255n.
Quels sont les trucs courants de manipulation de bits ?
Vérifier si un nombre est pair : n & 1 === 0. Vérifier si puissance de 2 : n > 0 && (n & (n-1)) === 0. Obtenir le bit défini le plus bas : n & -n. Effacer le bit défini le plus bas : n & (n-1). Compter les bits définis (popcount) : while(n) { count += n & 1; n >>= 1; }. Échanger des nibbles dans un octet : ((b & 0xF0) >> 4) | ((b & 0x0F) << 4). Division rapide par puissance de 2 : n >> k égale Math.floor(n / 2^k). Multiplier par puissance de 2 : n << k égale n * 2^k.