Convertisseur de base numérique
Convertit entre binaire, octal, décimal et hexadécimal. Supporte BigInt et opérations bit-à-bit avec largeurs signées.
Bitwise operations
À propos de cet outil
Number Base Converter traduit un entier entre binaire (base 2), octal (base 8), décimal (base 10) et hexadécimal (base 16). Tapez la valeur dans n'importe lequel des quatre champs de saisie et les trois autres se mettent à jour en synchronisation. Les mathématiques en précision arbitraire sont intégrées — collez un hash de 1024 bits et vous obtenez toujours une réponse exacte, pas d'arrondi en virgule flottante.
Un deuxième panneau exécute des opérations bit à bit sur la même valeur : AND, OR, XOR, NOT, décalage gauche, décalage droite, décalage droite arithmétique. Pour chaque opération vous choisissez la largeur entière (8/16/32/64 bits, signé ou non signé) afin que les représentations en complément à deux soient affichées correctement — 0xFF est 255 en u8 mais -1 en i8, et l'outil étiquette les deux. Un aperçu binaire en direct met en évidence les positions de bits individuelles afin que vous puissiez voir exactement ce qui a basculé.
Quand utiliser cet outil
- Lire et écrire des drapeaux de configuration. Beaucoup d'API utilisent des drapeaux bitmask ; convertir
0b10110en22ou inversement est une taxe quotidienne dans ce style. - Déboguer les dumps hex. Un octet affichant
0xC0en mémoire ? C'est192décimal,0b11000000binaire. - Calculer les valeurs de couleur. Les couleurs hex CSS, codes d'échappement ANSI et flux d'octets de format d'image vivent tous en hex.
- Travailler avec les permissions de fichier.
0o755↔0b111101101— la conversion est la fondation du Chmod Calculator.
À propos de BigInt et des largeurs signées
LeNumber natif de JavaScript perd en précision au-delà de 2^53. Nous utilisons BigInt pour la valeur elle-même, donc tout entier que vous pouvez écrire rentre. Les largeurs signées comptent pour les nombres négatifs : le complément à deux à 8 bits dit 0b10000000 = -128 ; à 16 bits le même pattern est 32768. L'outil vous montre toujours les deux interprétations donc la bonne est juste un coup d'œil.
Questions fréquentes
Pourquoi 0xFF apparaît-il à la fois comme 255 et -1 ?
Quelle taille de nombre l'outil peut-il gérer ?
Quelle est la convention de préfixe ?
0b pour binaire (Python, JS, Rust), 0o pour octal (Python, JS, Rust — la forme plus ancienne avec zéro de tête nu est obsolète), 0x pour hex (universel). Notre outil accepte les entrées avec ou sans préfixes et émet toujours les résultats sous la forme préfixée conventionnelle. C/C++ utilise le zéro de tête nu pour l'octal (0755), ce qui est un piège — nous ne sortons jamais cette forme.
Pourquoi le décalage-droite se comporte parfois différemment ?
>>>) remplit les bits hauts avec 0 — utilisé pour les valeurs non signées. Arithmétique (>>) remplit avec le bit de signe — préserve le signe des nombres négatifs en complément à deux. -8 >> 1 = -4 (arithmétique) mais -8 >>> 1 = 2147483644 (logique, 32 bits). L'outil expose les deux comme boutons séparés.