Écriture d'un entier positif

Numérique et sciences informatiques

donnees

1800 av J.C

Les babyloniens définissent la notion de numération.

IVè siècle

En inde apparaît le système décimal et le zéro permettant les calculs.

XVIIè siècle

Leibnitz définie la numération binaire.

1948

John Tukey crée le terme bit contraction des mots anglais binary digit qui signifient "chiffre binaire".

I. Le système décimal

Le système décimal est le système de numération que nous utilisons couramment dans notre vie quotidienne. Il se compose de dix chiffres de base : 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9. Chaque chiffre a une valeur spécifique qui dépend de sa position dans un nombre.

Dans le système décimal, les nombres sont organisés en positions basées sur les puissances de dix. Pour mieux comprendre, prenons l'exemple du nombre 357. Chaque chiffre dans ce nombre a une valeur qui dépend de sa position : les centaines valent 300, les dizaines valent 50, et les unités valent 7.

Le système décimal fonctionne en incréments de dix. Lorsque nous atteignons la valeur 9 dans une position donnée, nous passons automatiquement à la position suivante et recommençons à compter à partir de zéro. Par exemple, si nous ajoutons 1 à 269, nous obtenons 270.

Un nombre entier se compose de différents rangs, tels que les unités, les dizaines, les centaines, etc. Chaque rang vaut dix fois le rang précédent, ce qui signifie qu'une centaine équivaut à dix dizaines, et une dizaine équivaut à 10 unités.

Nombre = Les milliers + Les centaines + Les dizaines + Les unités +
Rang 3 2 1 0
Nombre = 1 milliers + 9 centaines + 7 dizaines + 6 unités
1976 = 1 x 103 9 x 102 7 x 101 6 x 100
Valeur décimale = 1976 1000 900 70 6

1976 est décomposé en puissance de 10 et on peut décomposer n’importe quel nombre en puissance de sa base.

Ainsi, nous pouvons décomposer n'importe quel nombre en puissances de sa base, et un nombre est simplement la somme de ses différents rangs.

II. Le binaire

Le système binaire est un système de numération utilisé en informatique. À la différence du système décimal, qui utilise dix chiffres, le système binaire n'en utilise que deux : 0 et 1.

Le système binaire est utilisé en informatique car les ordinateurs utilisent des circuits électroniques qui peuvent être soit en position "éteinte" (0), soit en position "allumée" (1). Ces chiffres binaires sont ensuite utilisés pour représenter des informations numériques et des instructions.

Dans le système binaire, les nombres sont organisés en positions de puissances de deux. Chaque position a une valeur différente selon sa position.

Par exemple, le nombre 10011 occupe 5 bits. Chaque rang en binaire ne peut avoir que deux valeurs (binaire = base 2) différentes : 0 ou 1. Pour la base 10, chaque rang représente une puissance de 10, pour la base 2, chaque rang occupe une puissance de 2.

Voici comment compter en binaire jusqu'à 10 :

Nombre en décimal Nombre en binaire Explication
0 0 1er choix (rang 0)
1 1 2ème choix (rang 0)
2 10 Le premier rang est complet, passons au suivant (rang 1) !
3 11 On remplit à nouveau le rang 1.
4 100 Le rang 1 est plein, le rang 0 aussi, on passe au suivant (rang 2).
5 101 Nous continuons en suivant la même méthode.
6 110
7 111
8 1000 Nous commençons le rang 3.
9 1001 Nous continuons de la même manière qu'auparavant.
10 1010
...

À retenir : Nous passons au rang suivant lorsque le rang actuel est complet.

Entraînement 1 :

Combien de valeurs peut-on coder avec 1 bit ?
Combien de valeurs peut-on coder avec 2 bits ?
Combien de valeurs peut-on coder avec 3 bits ?
Combien de valeurs peut-on coder avec n bits ?

III. Conversion d'un nombre décimal en binaire

Pour convertir un nombre décimal en binaire, nous utilisons une méthode appelée la "division par 2". Cette méthode consiste à effectuer une série de divisions par 2 jusqu'à ce que le quotient devienne égal à zéro. Ensuite, nous prenons tous les "restes" obtenus au fur et à mesure et les écrivons dans l'ordre inverse, du dernier au premier, pour obtenir la notation binaire.

Conversion décimal en binaire
Exemple : Convertir (18)10 en binaire

Entraînement 2 : Convertir un décimal en binaire

  1. Convertir (185)10 en base 2.
  2. Voir la solution

  3. Convertir (42)10 en base 2.
  4. Voir la solution

  5. Convertir (52)10 en base 2.
  6. Voir la solution

  7. Convertir (139)10 en base 2.

IV. Conversion d'un binaire en décimale

Pour convertir un nombre binaire en décimal, il faut associez à chaque chiffre binaire une valeur de position en fonction de sa position. La position la plus à gauche a une valeur de 2^0, la position suivante a une valeur de 2^1, la position suivante a une valeur de 2^2, et ainsi de suite. Chaque valeur de position est multipliée par le chiffre binaire correspondant. Le résultat est la somme de toutes les valeurs obtenues.

Rang 3 2 1 0
binaire 1 0 1 1
Exposant = 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20
Valeur décimale = 11 8 + 0 + 2 + 1

Entraînement 3 : Convertir du binaire en décimal

  1. Convertir (11010011)2 en base 10. Voir la solution
  2. Convertir (10011001)2 en base 10. Voir la solution
  3. Convertir (1111)2 en base 10. Voir la solution
  4. Convertir (101010)2 en base 10.
  5. Convertir (111000)2 en base 10.

V. L'hexadécimal

Le système hexadécimal est un système de numération qui utilise une base de 16. Il est largement utilisé en informatique et en programmation, car il offre une manière concise et pratique de représenter des données binaires.

Dans le système hexadécimal, nous utilisons les chiffres de 0 à 9 pour représenter les valeurs de 0 à 9, puis les lettres de A à F pour représenter les valeurs de 10 à 15. Voici la correspondance des chiffres hexadécimaux : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Binaire (base 2) Décimal (base 10) Hexadécimal (base 16)
000
111
1022
1133
10044
10155
11066
11177
100088
100199
101010A
101111B
110012C
110113D
111014E
111115F

Le chiffre le plus élevé en hexadécimal est F, correspondant à 15 en décimal et 1111 en binaire : F est donc encodé sur 4 bits (F)16 = 11112.

Pour convertir un nombre binaire en base 16, vous devez regrouper les bits par 4, ce qui vous donne un chiffre hexadécimal pour chaque groupe. Pour la conversion inverse, remplacez chaque chiffre hexadécimal par son équivalent binaire sur 4 bits.

Par exemple :

  • (11011001)2 = (1101 1001)2 = D916
  • 0x7F = (0111 1111)2 = (01111111)2
Assurez-vous de noter que si le nombre binaire d'origine n'a pas un nombre de bits multiple de 4, vous devez ajouter des zéros à l'avant (ce qui n'affecte pas sa valeur) pour pouvoir regrouper les bits par 4.

Entraînement 4 : Convertir du binaire en hexadécimal

  1. Convertir (101111011001)2 en base 16. Voir la solution
  2. Convertir (111011)2 en base 16. Voir la solution
  3. Convertir (101101)2 en base 16. Voir la solution
  4. Convertir (001100101)2 en base 16. Voir la solution
  5. Convertir (11110001)2 en base 16. (Exemple avec solution) Voir la solution
  6. Convertir (10011010)2 en base 16.
  7. Convertir (1101011)2 en base 16.

VI. Convertir un nombre décimal en hexadécimal

Pour convertir un nombre décimal en hexadécimal, la méthode est similaire au binaire, sauf que cette fois on divise par 16.

hexadecimal
Convertir (10217)10 en hexadécimal

Entraînement 5 :

  • Convertir (1387)10 en base 16
  • Convertir (185)10 en hexadécimal
  • Voir une solution

  • Convertir (1024)10 en hexadécimal.

VII. Convertir un nombre hexadécimal en décimal

Pour convertir un nombre hexadécimal en décimal, le principe est similaire à la conversion "binaire en décimal", mais cette fois, nous utilisons des puissances de 16 au lieu de 2n.

Voici un exemple :

hexadecimal
Convertir (AB42)16 en décimal

(AB42)16 = 10 x 163 + 11 x 162 + 4 x 161 + 2 x 160
(AB42)16 = 10 x 4096 + 11 x 256 + 4 x 16 + 2 x 1
(AB42)16 = 43842

Vous avez remarqué que lorsque nous rencontrons un chiffre en hexadécimal, nous le remplaçons par sa valeur décimale correspondante. Par exemple :

  • un A est remplacé par un 10
  • un B est remplacé par un 11
  • un C est remplacé par un 12
  • un D est remplacé par un 13
  • un E est remplacé par un 14
  • un F est remplacé par un 15

Entraînement 6 :

  1. Convertir (12B7)16 en base 10
  2. Voir une solution

  3. Convertir (4F3)16 en base 10
  4. Voir une solution

  5. Convertir (ABC)16 en base 10
  6. Voir une solution

VIII. Généralisation pour une base b

La conversion d'un nombre d'une base à une autre se fait en utilisant une méthode appelée la méthode de division successive.

La méthode de division successive consiste à diviser le nombre d'origine par la base cible jusqu'à ce que le quotient devienne zéro, en enregistrant les restes obtenus à chaque étape. Les restes, lus de bas en haut, forment le nombre converti dans la base cible.

Une solution en python :

def convertir (nombre, base):
    """base : entier au moins égal à 2 donné en base 10 
    nombre :  entier naturel donné en base 10
    renvoie l’écriture en base b d'un entier n par divisions en cascade"""
    resultat = []
    while nombre != 0:
        resultat.append(nombre % base)
        nombre = nombre // base
    resultat.reverse()
    return resultat
##################
print(convertir(15,2))

Toutefois, lorsque b est supérieur ou égal à 10, de nouveaux symboles devront être introduits pour les restes obtenus supérieurs ou égaux à 10.

Savoir faire

  • Savoir passer de la représentation d'une base dans une autre pour les bases 2,10,16

Fiche de cours