CODER un entier positif EN BINAIRE

Compter en binaire

Historiquement, on doit la naissance des premiers ordinateurs à l'association de trois idées géniales :

Créer une machine à calculer qui soit électrique et non mécanique

Calculer en binaire : 0 = pas de courant, 1 = courant (cf travaux de Leibnitz vers 1700)

Utiliser l’algèbre de Boole (cf travaux de Georges Boole vers 1850)

Les ordinateurs actuels étant toujours basé sur ces 3 idées, il nous faut donc notamment apprendre à compter en binaire !

décimal (base 10)	binaire (base 2)	hexadécimal (base 16)
0	0	0
1	1	1
2	10	2
3	11	3
4	4
5	5
6	6
7	7
8	8
9	9
10	A
11	B
12	C
13	D
14	E
15	F
16
17

Remarque :
Les deux chiffres binaires 0 et 1 sont appelés en anglais « binary digit » qui a été contracté en « bit ».

Conversions décimal  binaire

Premières puissances de 2 :

2n	20	21	22	23	24	25	26	27
valeur	1	2	4	8
binaire	1	10	100

Décimal vers binaire :

Méthode 1 : En décomposant le nombre décimal en somme de puissances de 2 :

Ex : 173	= 128 + 32 + 8 + 4 + 1

= 27 + 25 + 23 + 22 + 20

=

Méthode 2 : En effectuant des divisions entières par 2 :

Ex : 173 = 2 × 86 + 1 86 = 2 × 43 + 0 43 = 2 × 21 + 1 = 2 ×+ = 2 ×+ = 2 ×+ = 2 ×+ = 2 ×+	173 2 1 86 2 0 43 2 1 21 2

En lisant les restes de bas en haut, on retrouve le résultat : 101011012

Explication :
Refaisons exactement les mêmes calculs que ci-dessus mais directement en base 2 :
10101101	= 10 × 1010110	+ 1

1010110	= 10 × 101011	+ 0

101011	= 10 × 10101	+ 1

10101	= 10 × 1010	+ 1

1010	= 10 × 101	+ 0

101	= 10 × 10	+ 1

10	= 10 × 1	+ 0

1	= 10 × 0	+ 1

Binaire vers décimal :

Ex : 11010012	= 20 +

= 1 +

=

Conversions binaire  hexadécimal

Puisque 11112 = F16, il suffit de regrouper les bits par groupes de 4 !

Ex :	0110 10012 = 6916

7F16 = 0111 11112

Conversions décimal  hexadécimal

On utilise le même principe que pour les conversions de décimal vers binaire sauf que l'on utilise les puissances de 16 et non celles de 2.

160	161	162	163
1	16	256	4096

Ex :	723	= × 162 + × 16 +

=

Ex :	723	16

Ex :	A1F16	= × 162 + × 16 +

=

Opérations posées en binaire :

On peut faire des opérations « posées » en binaire en utilisant les méthodes apprises en primaire pour le système décimal :

Exemple d’addition : 1 1 0 1 1 0 + 1 0 1 1	Exemple de multiplication 1 1 0 1 1 0 × 1 0 1 1

Quels entiers positifs peut-on coder avec n bits ?

12 = 1	donc avec	1 bit,	on peut coder les entiers positifs de 0 à
112 = 3	donc avec	2 bits,	on peut coder les entiers positifs de 0 à
1112 =	donc avec	3 bits,	on peut coder les entiers positifs de 0 à
donc avec	n bits,	on peut coder les entiers positifs de 0 à

Avec Python

>>> 0b11 >>> 0x1F	>>> bin(31) '' >>> hex(31) ''