Système de numération et représentation de l’information - Représentation de données numériques

Index de l'article

 

Représentation de données numériques

 

Un nombre réel comporte généralement une partie entière et une partie décimale. Dans une base α un nombre X quelconque peut avoir la représentation suivante.
X = (anan-1 … a0, b1b2 … bn). Sa représentation polynômiale est X = Σni=0aiαi + Σmi=1biαi
Il existe une correspondance entre les bases 10 ; 2 ; 8 et 16.

 

Base 10

Base 2

Base 8

Base 16

0

0000

0

0

1

0001

1

1

2

0010

2

2

3

0011

3

3

4

0100

4

4

5

0101

5

5

6

0110

6

6

7

0111

7

7

8

1000

10

8

9

1001

11

9

10

1010

12

A

11

1011

13

B

12

1100

14

C

13

1101

15

D

14

1110

16

E

15

1111

17

F

 

 

 

Pour convertir un nombre d’une base donnée à une autre on convertit la partir entière dans la base voulue et pour la partie décimale on convertit la partie fractionnelle dans la base voulue.

 
 

Conversion de la partie entière

 

Conversion de la base 10 à une base β

 

Il est possible de passer d’un nombre décimal à un nombre en base β en utilisant la division successive par β.
On divise successivement le nombre décimal par β en gardant les restes, on s’arrête lorsque le quotient devient nul. Le résultat est obtenu en prenant l’ordre inverse des restes.

 

Exemples :

 

Conversion d’un nombre en base 2.
(18)10 = (…)2

 

18 :2 = 9 et reste = 0
9 :2 = 4 et reste = 1
4 :2 = 2 et reste = 0
2 :2 = 1 et reste = 0
1 :2 = 0 et reste = 1

 

(18)10 = (10010)2

 

Conversion d’un nombre en base 8
(207)10 = (…)8

 

207 :8 = 25 et reste = 7
25 :8 = 3 et reste = 1
3 :8 = 0 et reste = 3

 

(207)10 = (317)8

 

Exercice :

Effectuer les conversions suivantes :

 

(3479)10 = (…)16 ; (145)10 = (…)2 ; (3007)10 = (…)16 ; (452)10 = (…)8

 

Conversion de la base β à la base 10

 

De façon inverse il est facile de passer d’un nombre β d’un nombre en base 10 pour multiplication successive de puissance de β : on multiplie chaque  élément du nombre en base β élevé à une  puissance. Les puissances sont comptées à partir de 0 en partant de la droite vers la gauche, puis on effectue la somme des résultats obtenus :

  • Trouver la position de chaque chiffre constituant le nombre
  • On multiplie chaque chiffre par β à la puissance de sa position
  • Faire la somme des résultats obtenus.

Exemple :

1) (1100101)2 = (…)10

 

2.26 + 1.25 + 0.24 + 0.23 + 1.22 + 0.21 + 1.20 = 64 + 32 + 0 + 0 + 4 + 0 + 1 = (101)10

 

2) (203)8 = (…)10

 

2.8² + 0.81 + 3.80 = 128 + 3 = (131)10

 

3) (76)16 = (…)10

 

7.161 + 6.160 = 112 + 6 = (118)10

 
 

Exercice :

Effectuer les conversion suivantes :

  1. (145)8 = (…)10
  2. (452)8 = (…)10 = (…)16
  3. (546)16 = (…)10 = (…)8 = (…)2
  4. (458)16 = (…)10 = (…)2
  5. (DC48)16 = (…)10 = (…)8
  6. (100011)2 = (…)10 = (…)8
  7. (111001011)2 = (…)10 = (…)16

Conversion de la partie décimale

 

Une partie décimale y s’exprime sur la forme suivante
y=(0.b1b2...bn) = Σni=1biβ-i = b11 + b22 + … + bnn

 

En multipliant y par β on obtient une partie entière et une partie décimale
βy = b1 + b21 + … + bmm-1

 

Formulons l’algorithme sous la forme suivante
d0 = y
d1 = D(βd0) et b1 = E(βd0)                            D : Partie décimale
d2 = D(βd1) et b2 = E(βd1)                            E : Partie entière et β :la base
.
.
.
.

 

La conversion de la partie décimale peut générer un nombre qui n’a pas une représentation fixe.

 

Exemple : (0.175)10 = (…)2
d0 = 0.175
2d0 = 0.35
d1 = 0.35 et b1 = 0
2d1 = 0.7
d2 = 0.7 et b2 = 0
2d2 = 1.4
d3 = 0.4 et b3 = 1
2d3 = 0.8
d4 = 0.8 et b4
2d4 = 1.6
d5 = 0.6 et b5 = 1
2d5 = 1.2
d6 = 0.2 et b6 = 1
2d6 = 0.4
d7 = 0.4 et b7 = 0
réponse : (0.175)10 = (0.0010110…)2

 

Exercice :

Effectuer les conversions suivantes :

  1. (250.55)10 = (…)2 = (…)8 = (…)16
  2. (1001001.011)2 = (…)10 = (…)13
  3. (1032.2)8 = (…)10 = (…)2 = (…)16
  4. (45EA.AB)16 = (…)10 = (…)8
 

Conversion de 2↔8 et 2↔16

 

Conversion de 2↔8

 

Etant donné un nombre en base 2 la conversion en base 8 se fait en subdivisant la représentation binaire en groupe de 3 bits en remplaçant chaque groupe par son chiffre correspondant en base 8. La subdivision procède du point décimal vers la gauche pour la partie entière et vers la droite pour la partie décimale. Dans chaque cas on peut avoir à compléter le dernier bit par zéro pour avoir 3 bits.

 

Exemple :

(11 001 011 . 111 001 11)2 = (313.716)8

 

Pour passer de la base 8 à la base 2 on remplace chaque chiffre par sa représentation binaire.

 

Exemple :

(4375.4012)8 = (1000 011 111 101 . 100 000 001 010)2

 

Conversion de 2↔16

 

Chaque symbole de l’alphabet hexadécimal correspond à un nombre de 4 bits. Ainsi on peut passer d’un nombre binaire à un nombre hexadécimal en subdivisant  ces nombres binaires en groupe de 4kbits. Pour la partie entière on procède de la droite vers la gauche à partir du point décimal et pour la partie décimale on procède de la gauche vers la droite. Dans chaque  cas on peut avoir à compléter le dernier quartet de bit par les 0 pour avoir 4 bits.

 

Exemple :

(100 0111 . 1100 0011 0)2 = (47.C30)16

 

Pour passer de la base 16 à la base 2 il suffit de convertir tout simplement chaque chiffre qui compose le nombre hexadécimal en binaire.

 

Exemple :

(13C)16 = (0001 0011 1100)2