Bienvenue sur le site web de Lihan Li Ndjom Hans

Bienvenue sur le site web de  Lihan Li Ndjom Hans

Conversion d’un nombre d’une base à l’autre

Conversion d'un nombre d'une base à  l'autre

Objectifs :

 

        -> Définir transcodage

        -> Effectuer les conversions d'une base à une autre base.

 

Situation problème 

 

 Votre frère prend son vol à Yaoundé pour passer les vacances en France, arrivé à l'aéroport de paris, il se dirige vers un restaurant Macdonald pour manger. Au moment de régler la facture, il présente de la monnaie camerounaise (FCFA), le restaurateur lui dit qu'il ne peut accepter cette monnaie.

Question 

 

  1.  Identifier le problème 
  2. Expliquer pourquoi la monnaie de votre frère n'est acceptée ?
  3. Proposer une solution à votre frère pour que sa facture puisse être réglée ?

 

Réponse 

 

 Le Cameroun et la France n'utilise pas la même monnaie. Pour pouvoir régler sa facture votre frère doit présenter de la monnaie française, pour cela il devra convertir ses FCFA en Euro.

 Introduction

Pour qu'un chinois puisse lire un texte écrit en langue française en chinois, il doit au préalable traduire ce texte en langue chinoise. En langage courant cette opération est appelée traduction, mais en  informatique ce passage d'une base à une autre base est appelée transcodage.

 

Le transcodage  (ou conversion de base) est l'opération qui permet de passer de la représentation d'un nombre exprimé dans une base à la représentation du même nombre mais exprimé dans une autre base. Les conversions peuvent se faire :

-       D'une base 10 vers une base B (2, 8, 16) 

-       D'une base B (2, 8, 16) vers la base 10 

-       D'une base 2 vers les bases 8 et 16

-       D'une base 8 ou 16 vers la base 2

 

I-                   Changement de la base 10 vers une base b (2, 8, 16)

 

Méthode

Pour convertir un nombre de la base 10 vers une base b (2, 8, 16), la règle à suivre est la division successive :

è   on divise le nombre par la base b,  puis le quotient par la base b   ainsi de suite jusqu'à l'obtention d'un quotient nul

è   la suite des restes correspond aux symboles de la base visée.  on obtient  en premier le chiffre de poids faible et en dernier le chiffre de poids fort.

 

Exemple 1 : Conversion de la base 10 à la base 2.

Ainsi (19)10=(10011)2

 

Exemple 2 : Conversion de la base 10 à la base 16.

Soit à convertir le nombre 74 en  hexadécimale (base 16).

 

 

Bon à savoir

En base 16, lorsqu'un des restes est compris entre 10 et 15, on le remplace par son équivalent hexadécimal avant d'écrire le résultat.

 

II-                 Changement d'une base B (2, 8, 16) vers la base 10

 

Méthode

Pour convertir un nombre d'une base b (2, 8, 16) vers la base 10, on peut suivre le procédé suivant :

·         On numérote chaque symbole du nombre écrit en base b (2, 8, 16) en commençant de la gauche vers la droite (c'est-à-dire du poids faible vers le poids fort) et le premier numéro étant 0.

·         On multiplie chaque symbole du nombre à convertir par B à la puissance de son numéro trouvé à l'étape 1 et on fait la somme.

·         On effectue l'opération trouvée à l'étape 2

·         On écrit convenablement le résultat

 

Exremple1 : Conversion de la base 2 à la base 10


Exemple 2 : Conversion de la base 2 à la base 10

Le mot binaire 0101 vaut en décimal :

23x0 + 22x1 + 21x0 + 20x1 = 8x0 + 4x1 + 2x0 + 1x1 = 5

(0101)2 = (5)10

 

Exemple 3 : Conversion de la base 16 à la base 10

Le nombre FB3 (en base 16) vaut en base 10 :

F*162 + B*161 + 3*160 =15*16² + 11*161 + 3*160 = 3840 + 176 + 3 = 4019.

(FB3)16 = (4019)10

Bon à savoir : Lorsqu'un des symboles du nombre à convertir est une lettre, on le remplace par son équivalent décimal, avant de faire la multiplication

 

III-              Changement de la base 2 vers une base B (8, 16)

 

Pour convertir un nombre de la base 2 vers la base 8 ou 16, on peut appliquer l'une des méthodes  ci-après :

 

è  Méthode 1 : Convertir le nombre en binaire vers la base décimale puis, convertir ce nombre en base 10 vers la base b (8, 16).

Exemple :

Soit  à convertir 11001(2) en octale

  - 11001(2) = 1 ×24 +1 ×23 + 0 ×22 + 0 ×21 + 1×20

                = 16+8+0+0+1

    =25(10)

  25(10) = 3 ×81 + 1 ×80 = 31(8)  (en effectuant les divisions successives on arrive au même résultat)

 

è  Méthode 2 

-       On décompose le nombre binaire en tranche de 3 (pour la base 8) ou de 4 (pour la base 16) à partir du bit le poids faible c'est-à-dire le premier bit à votre droite. Donc on ferra un regroupement de 3 (pour la base 8) ou de 4 (pour la base 16) bits de la droite vers la gauche.

-         On complète la dernière tranche (ou regroupement) par des 0 s'il y a lieu.

-         On converti chaque tranche par son équivalent octale ou hexadécimale.

-         On remplace  chaque tranche par son équivalent trouvé à l'étape précédente.

 

Exemple :

Soit à convertir 110011(2) en hexadécimale

-111011(2) (0011) (1011)

(0011) (3)16 ; (1011) (11)10 (B) 16

En conclusion 110011(2) = 3B(16)

 

IV-              Changement de la base B (8, 16) vers la base 2

 

Méthode

Pour convertir un nombre un nombre d'une base B (8, 16) vers la base 2, on peut suivre le procédé suivant :

è  On converti chaque symbole du nombre de la base 2 par son équivalent binaire sur 3 (pour la base 8) ou 4 (pour la base 16) bits.

è  On remplace chaque symbole du nombre par son équivalent binaire sur 3 ou 4 bits en fonction de la base de départ.

Exemple : Conversion de octale (base 8) vers binaire (base 2)

Soit à convertir 741(8)  en binaire (base 2)

- 1001 ; 4100 ; 7111 ; (on converti chaque symbole du nombre sur 3 bits)

- 7741(8) =111100001 ; (on remplace chaque symbole du nombre par son équivalent binaire sur 3 bits)

 

Conclusion

Le transcodage est une opération très importantes et incontournable que nous manipulons régulièrement dans la vie courante. Nous pouvons citer par exemple les traducteurs qui traduisent les messages (ou textes) d'une langue à une autre langue, les convertisseurs de monnaie qui convertissent de l'argent d'un système monétaire à un autre système monétaire, et bien d'autres.

A l'issu de cette leçon, nous vu comment effectuer les conversions des nombres des différentes bases usuelles (base 10, base 2, base 8 et base 16) à travers plusieurs méthodes.

La prochaine fois nous verrons comment effectuer le opérations arithmétiques de base ( +, -, * et / ) dans une base donnée.

 

Exercice d'application

 

·         Conversion de la base (8,16) à la base 2.

Il suffit de chercher si cette base représente une puissance de deux 2k.

Ensuite regarder dans le tableau pour trouver la correspondance de chaque chiffre dans cette base et les laisser en groupe.

        Exemple :        1 – Passage la base 8 à la base 2 : 8 = 23.

                        N =       (           2          7          6          5          ,           3          2          )8

                        N=        (           010      111       110       101       ,           011       010)2

(2765,32)8 = (10111110101,01101)2

 

                   2 – Passage de la base 16 à la base 2 : 16 = 24..

N =       (           5          F          3          ,           8          2          )16

            N =       (           0101     1111      0011     ,           1000    0010    )2

(5F3,82)16 = (010111110011,1000001)2

·         Conversion de la base 2 à une base (8,16).

L'opération dans le sens inverse se fait facilement en regroupant les bits par groupe de chiffres en tenant compte de la puissance de 2 correspondante ceci en partant de la virgule.

 

Exemple :        1 – Passage la base 8 à la base 2 : 8 = 23.

                        N=        (           010      111       110       101       ,           011       010)2

N =       (           2          7          6          5          ,           3          2          )8

(10111110101,01101)2 = (2765,32)8

                        2 – Passage de la base 16 à la base 2 : 16 = 24.

            N =       (           0101     1111      0011     ,           1000    0010    )2

N =       (           5          F          3          ,           8          2          )16

 (10111110011,1000001)2 = (5F3, 82)16

 

 



29/09/2011
2 Poster un commentaire

A découvrir aussi


Inscrivez-vous au blog

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 26 autres membres