Conversions



--Téléchargez Conversions en PDF --


Binaire → Décimal

Pour convertir un nombre binaire vers son homologue décimal, il suffit de multiplier la valeur binaire par son poids.

Prenons par exemple le nombre b11000111.

27=128

26=64

25=32

24=16

23=8

2²=4

21=2

20=1

1

1

0

0

0

1

1

1

En appliquant la formule, nous obtenons : 2^7+2^6+2^2+2^1+2^0 = 128+64+4+2+1 = 199_10


Binaire → Octal

La conversion du binaire vers l’octal est plus simple, car 8 est une puissance de 2. La conversion se fait en groupant les bits en triplets, en partant de la droite.

Reprenons le nombre 11000111. En le divisant en triplets, nous obtenons 011 000 111.

0112=38

0002=08

1112=78

Le nombre 110001112 s’écrira donc 3078, ou 0307.


Binaire → Hexadécimal

La conversion du binaire vers de l’hexadécimal suit le même principe que celui du binaire vers de l’octal, mis à part le groupement qui se fait en nibbles (4 bits), toujours de droite à gauche.

Reprenons une dernière fois le nombre 110001112. En le divisant en nibbles, nous obtenons 1100 0111.

11002=C16

01112=716

Le nombre 110001112 s’écrira donc C716 ou 0xC7.


Décimal → Binaire

/2

reste

158310

1

791

1

395

1

197

1

98

0

49

1

24

0

12

0

6

0

3

1

1

1

La conversion d’un nombre décimal vers un nombre binaire revient à faire une division euclidienne (division entière avec reste) par 2, en notant à chaque fois le reste obtenu.

Prenons le nombre 158310 à convertir en binaire.

Il existe un « truc ».

Si le nombre décimal n’est pas divisible, retirez 1 et placez-le à côté.

Par exemple : 1583 n’est pas divisible par 2. 1583 = 1582 +1.

1582 est divisible par 2 et il reste 1.

Recommencez l’opération jusqu’au bout. La dernière division mènera toujours à 1, qui est le dernier reste. Le nombre converti se lira alors de bas en haut.
1582 = b110 0010 1111.


Octal → Binaire et Hexadécimal → Binaire

Convertir de l’octal en binaire est beaucoup plus simple. En effet, chaque chiffre composant le nombre octal est un triplet de bits. La conversion se fait presque mentalement.

Prenons le nombre 0562.

 

octal

5

6

2

binaire

101

110

010

0562 = 101 110 0102.

De même, le passage de l’hexadécimal se fait en reprenant chaque chiffre et en le convertissant en nibble correspondant.

 

hexadécimal

D

8

binaire

1101

1000

0xD8 = 1101 10002

Décimal→ Octal , Décimal→ Hexadécimal, Décimal → toute base

La conversion d’un nombre décimal en octal ou en hexadécimal est beaucoup plus complexe. Il s’agit de faire des divisions euclidiennes successives, tout en reportant les restes obtenus. Cette méthode étant très lente, il est parfois plus facile de convertir le nombre décimal en binaire, puis de le reconvertir en octal ou en hexadécimal.

Exemple pour la base 8 :struct-conversions

Ce qui donne comme résultat : 1248 = 02340.