À propos de cet outil
Le même nombre dans différentes bases
Une base (radix en anglais) est le nombre de chiffres distincts qu'utilise une numération de position. Le décimal en a dix, le binaire deux, l'octal huit et l'hexadécimal seize, en empruntant a à f pour les valeurs de dix à quinze. Les bases jusqu'à 36 continuent dans l'alphabet jusqu'à z.
Le binaire est la façon dont le matériel stocke les nombres. L'hexadécimal en est l'écriture compacte, puisqu'un chiffre hexadécimal vaut exactement quatre bits et deux chiffres un octet. L'octal sert encore pour les permissions de fichiers Unix, où chaque chiffre représente trois bits.
Chaque champ de cette page affiche le même entier. Modifiez-en un et les autres suivent.
Ce que vous pouvez saisir
Les chiffres peuvent être séparés par des espaces ou des tirets bas, comme dans 1111_0000 ou 1 000 000, et le nombre peut commencer par un signe moins. Les préfixes 0b, 0o et 0x sélectionnent le binaire, l'octal et l'hexadécimal partout où la lettre n'est pas elle-même un chiffre du champ : 0xff saisi dans le champ décimal est lu comme 255, tandis que 0b1 dans le champ hexadécimal est le nombre hexadécimal B1.
La conversion utilise le type BigInt de JavaScript, un entier en précision arbitraire : rien n'est donc arrondi. La seule limite de taille est celle que le moteur JavaScript du navigateur impose à un BigInt, et un nombre qui la dépasse est signalé dans son champ. Les nombres supérieurs à 9 007 199 254 740 991, au-delà duquel les nombres JavaScript ordinaires commencent à perdre en précision, sont convertis exactement. Seuls les entiers sont pris en charge, pas les fractions.
Nombres négatifs et complément à deux
Les champs affichent un nombre négatif sous la forme d'un signe moins suivi de sa valeur absolue. Les ordinateurs le stockent autrement : en complément à deux, une valeur négative est stockée comme cette valeur plus deux à la puissance de la largeur. Sur 8 bits, cette puissance vaut 256 : -1 est donc stocké comme 255, soit ff, et -128 comme 128, soit 80.
Le tableau montre le motif binaire sur 8, 16, 32 et 64 bits chaque fois que la valeur y tient, ainsi que ce que ce motif signifie une fois relu comme entier signé et comme entier non signé. C'est pourquoi 255 et -1 partagent le motif ff sur 8 bits.