Vous êtes sur la page 1sur 12

Conversion d'un code vers un autre code

Démonstration générale

Rappel de notation :

NB = an-1 an-2 an-3 …. ai … a1 a0 , a-1 a-2 a-3 … aj … a-m

partie entière EB partie décimale DB


nombre codée sur n codée sur m
positif codé symboles symboles
en base B

1. D’une base pondérée B vers le code décimal (B’ = 10)

Chaque symbole ai possède le poids Bi


𝒏 𝟏 𝒎
donc l’équivalent décimal (base 10) de NB : N10 = 𝒊 𝟎 𝒊
𝒊 + 𝒋 𝟏 𝒋
𝒋

Exemple : 2E)H = 14x160 + 2x161 = 46)10


2. Du code décimal (B= 10) vers une base pondérée B’
On sépare partie entière et décimale

A. Pour la partie entière E10

On peut procéder selon deux méthodes :

 Par divisions successives par B’ justification dans la suite

 Par soustractions successives de B’n (plus laborieux)


Par divisions successives par B'
La partie entière est donnée en base décimale. On l’écrit sous la forme :

E)10 = an-1.10n-1 + an-2.10n-2 + … a1.101+ a0.100 Les coefficients ak sont connus

On écrit la partie entière E)10 dans la base B’ Les coefficients a’k sont à
déterminer.
E)B’ = a’n-1.B’n-1 + a’n-2.B’n-2 + … a’1.B’1+ a’0.B’0

Dans cette expression on met B’ en facteur :


E)B’ = B’.(a’n-1.B’n-2 + a’n-2.B’n-3 + … a’1.B’0) + a’0

E1)10
E)10 = B’.E1)10 + a’0
dividende
B’ diviseur
Rappel sur la division euclidienne : E

E = B’.E1 + r0 r0 E1
Reste entier Quotient entier

Le reste r0 de la division euclidienne de E)10 par B’ correspond à a’0 soit le LSB.


On réitère l’opération avec le quotient E1)10 de la première division .
On met B’ en facteur :

E1)10 = a’n-1.B’n-2 + a’n-2.B’n-3 + … a’1.B’0

E1)10 = B’.(a’n-1.B’n-3 + a’n-2.B’n-4 + … a’2.B’0) + a’1

E2)10

E1)10 = B’.E2)10 + a’1

La 2ème division euclidienne est celle de E1 par B’. Elle s ’écrit : E1 = B’.E2 + r1

Dividende diviseur
E1 B’
= quotient de la division 1
r1 E2
Reste entier Quotient entier

Le reste r1 de la division euclidienne de E1)10 par B’ correspond à a’1


Dernière étape : En-1)10 = B’.0 + a’n-1

La nème division euclidienne est celle de En-1 par B’.


Elle s ’écrit :

En-1 = B’.0 + rn-1

Dividende diviseur
En-1 B’
= quotient de la division n-1
rn-1 0
Reste entier Quotient entier nul

La dernière division doit avoir un quotient entier nul.

Le reste rn-1 de la division euclidienne de En-1)10 par B’ correspond à a’n-1 (le MSB)
Exemple :
E)10 = 378)10 vers la base hexadécimale (16)

378 16 23 16 1 16

10 23 7 1 1 0

a’0 a’1 a’2


Symbole Symbole Symbole
de poids en base de poids
faible en 16 fort en
base 16 base 16
A 7 1

E)10 = 378)10 = 17A)H


B. Pour la partie décimale (fractionnaire) D10

On peut procéder selon deux méthodes :

 Par multiplications successives par B’ justification dans la suite

 Par additions successives de B’n (plus laborieux)

NB = an-1 an-2 an-3 …. ai … a1 a0 , a-1 a-2 a-3 … aj … a-m

partie entière EB partie décimale DB


nombre codée sur n codée sur m
positif codé symboles symboles
en base B
Par multiplications successives par B'
La partie fractionnaire s’écrit en base décimale :

D)10 = a-1.10-1 + a-2.10-2 + … + a-m.10-m Les coefficients ak sont connus

Dans la base B’, on écrit :


Les coefficients a’k sont des
D)B’ = a’-1 .B’-1 + a’-2. B’-2 + … + a’-m .B’-m entiers à déterminer.

Dans cette expression on multiplie par B’ :


D)B’xB’ = a’-1 + a’-2.B’-1 + … + a’-m.B’-m+1

Partie entière Partie


de la 1ère fractionnaire
multiplication de la 1ère
multiplication
D1)10

La partie entière de la multiplication de D)10 par B’ correspond à a’-1 soit le


symbole de poids fort de la partie fractionnaire en base B’
On multiplie D1)10 par B’ :

D1)10xB’ = a’-2 + a’-3.B’-1 + … + a’-m.B’-m+2

Partie entière Partie


de la 2ème fractionnaire
multiplication de la 2ème
multiplication
D2)10

La partie entière de la multiplication de D1)10 par B’ correspond à a’-2


Exemple :
D)10 = 0,425)10 vers la base hexadécimale (16)

0,425 0,8 0,8 0,8


x 16 x 16 x 16 x 16

6,8 12,8 12,8 Etc …

a’-1 a’-2 a’-3

D)10 = 0,425)10 = 0,6CCCCCCC)H

Quelle précision donner ?


3. Conservation de la précision lors d’un changement de base :
Notion de précision en base 10 :

Exemple :
Mesure : L)10 = 8,425 m L)10 = 842,5 cm
Précision : 10-3 m 10-1 cm

Précision = Poids du dernier chiffre significatifs : B-n


Avec n nombre de chiffres après la virgule.

Lorsqu’on passe d’une base B à une base B’, conserver la précision


revient à trouver le nombre de chiffre après la virgule en base B’,
soit l’entier n’ tel que :
B-n # B’-n’
Exemple :
D)10 = 0,425)10 vers la base hexadécimale (16)

En base 10 : précision 10-3

On cherche n’ tel que : 10-3 # 16-n’


on utilise le logarithme décimal log(10-3) = log(16-n’)
- 3log(10) = -n’log(16)
- 3 = - 1,2 n’
n’ = 2,5

Comme n’ est entier, on prend n’ = 3

D)10 = 0,425)10 = 0,6CC)H

En résumé : N)10 = 378,425)10 = 17A,6CC)H

Vous aimerez peut-être aussi