Convertisseur de complément à deux
Convertissez un nombre entier en son motif binaire de complément à deux avec la largeur choisie, ou décodez les bits pour obtenir un nombre.
Convertisseur de complément à deux
Les ordinateurs stockent les nombres négatifs en utilisant le complément à deux, pas un simple signe moins — le même motif binaire représente une valeur différente selon qu'il est lu comme un nombre signé ou non signé. Cet outil convertit dans les deux directions : entrez un nombre entier par ligne et il produit le motif binaire de complément à deux correspondant à la largeur que vous choisissez, ou changez de direction et collez des motifs binaires pour obtenir la valeur décimale signée (ou non signée) que chacun représente.
Choisissez une largeur de bits de 8, 16, 32 ou 64 et un format de sortie binaire pur ou hexadécimal. L'option « Signé » contrôle comment une valeur est interprétée : lorsqu'elle est activée, un motif binaire est lu comme un complément à deux (le bit supérieur signifie négatif) et un nombre doit s'adapter à la plage signée pour cette largeur ; lorsqu'elle est désactivée, les deux directions traitent les mêmes bits comme un entier non signé ordinaire. Basculer la direction échange l'encodage contre le décodage sans perdre votre entrée, donc vérifier une conversion aller-retour est un simple clic.
Le débordement est l'endroit où le complément à deux devient confus, donc cet outil le rend visible au lieu de le cacher : un nombre en dehors de la plage de largeur choisie s'encapsule toujours de la manière dont le vrai matériel l'encapsule — cet encapsulage est le motif de complément à deux correct, pas un bug — mais les lignes affectées sont également marquées et comptabilisées dans le résumé, donc un débordement involontaire dans un lot de valeurs ne passe pas inaperçu. Désactivez ce marquage si vous explorez délibérément le comportement d'encapsulation et ne voulez pas qu'il soit signalé.
Collez une colonne entière de nombres ou de motifs binaires à la fois ; chaque ligne est convertie indépendamment, et les lignes vides sont conservées pour que le résultat reste aligné avec l'entrée. Tout s'exécute localement dans votre navigateur — rien que vous colliez, y compris les constantes propriétaires ou les valeurs de firmware, n'est jamais chargé nulle part.