Les machines ne comprennent pas le système décimal de numération des humains qui s'appuie sur 10 chiffres (0, 1, 2, 3, ..., 9).
À cause de l'architecture de leur microprocesseur à base de transistors en mode commuté, les deux seuls chiffres qu'elles comprennent sont le 0 et le 1 : on parle de système de numération binaire.
Une information (chiffre, nombre, lettre, mot...) est donc toujours codée, en langage machine, sous la forme d'une suite ordonnée de 0 et de 1. Cette unité est appelé un bit.
L'octet est la plus petite unité permettant de coder et d'échanger une information entre des machines. Un octet est composé de 8 bits.
Numération binaire, décimale et hexadécimale
Le sytème de numération binaire fonctionne de la même manière que le système de numération décimal, sauf qu'à la place d'une base de 10, il utilise une base de 2.
Dans le système décimal, les unités du deuxième ordre (les « dizaines ») valent dix unités du premier ordre, les unités du troisième ordre (les « centaines ») valent dix unités du deuxième ordre, etc. En d'autres termes, un nombre décimal peut se décomposer en la somme des puissances de dix.
Par exemple, 9473 en base 10, que l'on note (9473)10pour indiquer le système décimal, est la somme de 9 × 103 + 4 × 102 + 7 × 101 + 3 × 100, soit 9 × 1000 + 4 × 100 + 7 × 10 + 3 × 1.
Dans le système binaire, l'alphabet est composé des deux seuls chiffres 0 et 1. Un nombre binaire peut donc se décomposer en la somme des puissances de 2.
Par exemple, le nombre 10101 en base 2, que l'on note (10101)2 pour indiquer le système de numération binaire, est la somme de 1 × 24 + 0 × 23 + 1 × 22 + 0 × 21 + 1 × 20, soit, en système décimal 1 × 16 + 0 × 8 + 1 × 4 + 0 × 2 + 1 × 1, c'est-à-dire (21)10.
Les machines utilisent également couramment le système de numération hexadécimal, c'est-à-dire de base 16.
L'encodage ASCII
Le codage des caractères non accentués repose sur la norme ASCII (American Standard Code for Information Interchange) . L'ASCII définit 128 caractères numérotés de 0 à 127 et codés en binaire sur 8 bits (1 octet) de 00000000 à 01111111.
Tableau de conversion décimal, binaire, hexadécimal
Conversion décimal - binaire - Schéma
Pour convertir un nombre décimal en nombre binaire, on divise successivement par 2 et on conserve les restes.
Par exemple, pour convertir 43 en binaire :
- on divise 43 par 2, ce qui donne 21, avec un reste 1 ;
- on divise 21 par 2, ce qui donne 10, avec une reste 1 ;
- on divise 10 par 2, ce qui donne 5, avec un reste 0 ;
- on divise 5 par 2, ce qui donne 2, avec un reste 1 ;
- on divise 2 par 2, ce qui donne 1, avec un reste 0 ;
- il n'est plus possible de diviser le reste par 2 et en remontant les résultats des divisions, on obtient le nombre binaire (101011)2;
- il est également possible de noter ce nombre sur un octet, c'est-à-dire 8 positions, ce qui donne (00101011)2.