Livre_silo 30 août 2013 16:32 Page 37
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
37
2 – Représentation des nombres
Exercice 2.8 Trouver la représentation en base dix du nombre 202413 5 .
202413 5 = (3 × 5
0 ) + (1 × 5
1 ) + (4 × 5
2 ) + (2 × 5
3 ) + (0 × 5
4 ) + (2 × 5
5 ) = 6608
Exercice 2.9 Trouver la représentation en base dix du nombre 5ad9 16 .
Avec l’algorithme de Horner :
5ad9 16 = ((5 × 16 + 10) × 16 + 13) × 16 + 9 = 23257
2.1.3 La base deux
La mémoire des ordinateurs est constituée de circuits n’ayant chacun que deux états possibles : les ordinateurs comptent donc naturellement en base deux et chaque circuit représente un des deux chiffres de cette base : 0 ou 1.
Les nombres binaires sont plus difficiles à lire, mais le principe de la numération en base
deux est en tout point similaire à celui de la numération dans les autres bases. Par exemple,
le nombre treize s’écrit 1101 : de droite à gauche, 1 unité, 0 deuzaine, 1 quatraine et 1 huitaine. L’ écriture d’un entier naturel en binaire est en moyenne 3, 2 fois plus longue que
son écriture en base dix, mais elle ne demande d’utiliser que deux chiffres. Le nombre
13 = 1101 est donc représenté dans la mémoire d’un ordinateur par le mot 1101, c’est-àdire par quatre circuits respectivement dans les états 1, 0, 1 et 1.
Dans la mémoire des ordinateurs, les circuits mémoire un bit sont souvent groupés par
huit (les octets) et on utilise des nombres exprimés en notation binaire sur un, deux, quatre
ou huit octets, soit 8, 16, 32 ou 64 bits. Cela permet de représenter les nombres de 0 à
1111 1111 = 255 sur un octet, de 0 à 1111 1111 1111 1111 = 65 535 sur deux octets, de
0 à 1111 1111 1111 1111 1111 1111 1111 1111 = 4 294 967 295 sur quatre octets et de 0 à
1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 =
18 446 744 073 709 551 615 sur huit octets.
Lorsque l’on manipule des entiers naturels uniquement représentés de cette façon, dans
certains langages on les appelle entiers non signés. En Python, toutefois, aucun type de
données ne donne directement accès à ce genre de représentation : on ne peut manipuler
que des entiers relatifs.
Exercice 2.10 Trouver la représentation en base deux du nombre 14.
base2_1.pdf
Donc 14 = 1110.
Exercice 2.11 Trouver la représentation en base dix du nombre 10101010.
10101010 = (0 × 2 0 ) + (1 × 2 1 ) + (0 × 2 2 ) + (1 × 2 3 ) + (0 × 2 4 ) + (1 × 2 5 ) + (0 × 2 6 ) + (1 × 2 7 ) = 170
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
37
2 – Représentation des nombres
Exercice 2.8 Trouver la représentation en base dix du nombre 202413 5 .
202413 5 = (3 × 5
0 ) + (1 × 5
1 ) + (4 × 5
2 ) + (2 × 5
3 ) + (0 × 5
4 ) + (2 × 5
5 ) = 6608
Exercice 2.9 Trouver la représentation en base dix du nombre 5ad9 16 .
Avec l’algorithme de Horner :
5ad9 16 = ((5 × 16 + 10) × 16 + 13) × 16 + 9 = 23257
2.1.3 La base deux
La mémoire des ordinateurs est constituée de circuits n’ayant chacun que deux états possibles : les ordinateurs comptent donc naturellement en base deux et chaque circuit représente un des deux chiffres de cette base : 0 ou 1.
Les nombres binaires sont plus difficiles à lire, mais le principe de la numération en base
deux est en tout point similaire à celui de la numération dans les autres bases. Par exemple,
le nombre treize s’écrit 1101 : de droite à gauche, 1 unité, 0 deuzaine, 1 quatraine et 1 huitaine. L’ écriture d’un entier naturel en binaire est en moyenne 3, 2 fois plus longue que
son écriture en base dix, mais elle ne demande d’utiliser que deux chiffres. Le nombre
13 = 1101 est donc représenté dans la mémoire d’un ordinateur par le mot 1101, c’est-àdire par quatre circuits respectivement dans les états 1, 0, 1 et 1.
Dans la mémoire des ordinateurs, les circuits mémoire un bit sont souvent groupés par
huit (les octets) et on utilise des nombres exprimés en notation binaire sur un, deux, quatre
ou huit octets, soit 8, 16, 32 ou 64 bits. Cela permet de représenter les nombres de 0 à
1111 1111 = 255 sur un octet, de 0 à 1111 1111 1111 1111 = 65 535 sur deux octets, de
0 à 1111 1111 1111 1111 1111 1111 1111 1111 = 4 294 967 295 sur quatre octets et de 0 à
1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 =
18 446 744 073 709 551 615 sur huit octets.
Lorsque l’on manipule des entiers naturels uniquement représentés de cette façon, dans
certains langages on les appelle entiers non signés. En Python, toutefois, aucun type de
données ne donne directement accès à ce genre de représentation : on ne peut manipuler
que des entiers relatifs.
Exercice 2.10 Trouver la représentation en base deux du nombre 14.
base2_1.pdf
Donc 14 = 1110.
Exercice 2.11 Trouver la représentation en base dix du nombre 10101010.
10101010 = (0 × 2 0 ) + (1 × 2 1 ) + (0 × 2 2 ) + (1 × 2 3 ) + (0 × 2 4 ) + (1 × 2 5 ) + (0 × 2 6 ) + (1 × 2 7 ) = 170
