NOMBRES - Curiosités, théorie et usages

Accueil / Dictionnaire / Rubriques / Index / Références / Nouveautés

ORIENTATION GÉNÉRALE  - M'écrire - Édition du: 14/11/2004

 

Débutants

-Ý- RUBRIQUE: NUMÉRATION CONVERSIONS

Glossaire

§         Décimal

§         Binaire

§         Octal

§         En pratique

§         LES BASES

§         Hexadécimal

§         Bases 16 &  32

§         Base 60

Sommaire de cette page

 

Classique

>>> SYSTÈMES base 16 et 32

>>> CONVERSION par le BINAIRE

 

Travaux pratiques avec les bases

>>> CONVERSION 32 en 16

>>> EXPLICATIONS

>>> FORMULE DE CONVERSION

>>> LOGICIEL DE CALCUL

>>> EXEMPLES DE CONVERSION

 

Pages voisines

 

§         Numération

§         Base 2 - Dualité

§         Puissances de 2

§         Mille en binaire et autres bases

§         Inventaire des nombres

§         Décomposition des nombres

§         Pi en hexadécimal


 

 

 CONVERSION base 32 en base 16

                                                                     

Comment convertir un nombre exprimé en base 32

en un nombre en base 16 (hexadécimale)

 

Exemple de raisonnement

et, établissement de la formule

 

In fine,

on donne la méthode la plus rapide pour convertir

en passant par un intermédiaire: le binaire

 

  

-Ý- SYSTÈME HEXADÉCIMAL et base 32

 Nombre hexadécimal

§        Pour écrire les nombres, utilisation de

o       non pas 10 chiffres

o       mais 16,

§        on les note de la manière suivante

 

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

 

A

B

C

D

E

F

 

§        On peut garder les nombres 10, 11 etc.

o       Mais alors, il faut considérer le nombre comme un bloc

En fait,

§        L'hexadécimal étant très répandu en informatique,

§        et pour ne pas confondre,

§        on utilise généralement les lettres A, B…

 

  On compte

Bloc- chiffres

14

15

1, 1

1, 2

1,10

1, 11

1, 12

Avec lettres

E

F

11

12

 

1A

1B

1C

 

Nombre en base 32

§        Pour écrire les nombres, utilisation de

o       non pas 10 chiffres

o       mais 32 symboles

 

 -Ý- CONVERSION PAR LE BINAIRE

§        En pratique:

o       Pour convertir un nombre base 32 en 16 ou en 8 ou en 2

o       C'est très facile, on passe systématiquement en binaire

 

Exemple pour conversion base 32 en base 16

§        Une valeur hexadécimale (24) est représentée en binaire

o       de façon unique par un groupe de 4 bits

 

§        Une valeur en base 32 (25) est représentée en binaire

o       de façon unique par un groupe de 5 bits

 

§        De sorte que

o       un nombre binaire s'exprime

§        en base 16 en regroupant les bits par paquets de 4

§        en base 32 en regroupant les bits par paquets de 5

 

§        Soit une méthode simple et rapide de conversion,

o       résumée en :

N32 => binaire5 => binaire4 => N16

 

Exemple

[2, 2 , 2] 32 = ?

 

Notation base 32

2

2

2

Notation binaire

0

0

0

1

0

0

0

0

1

0

0

0

0

1

0

Paquet de 4 bits

0

0

0

1

0

0

0

0

1

0

0

0

0

1

0

Notation base 16

0

8

4

2

 

[2, 2 , 2] 32 = [8, 4 , 2] 16

 

Méthode

  • Transformer chaque digit du nombre base 32 par sa représentation binaire à 5 chiffres: c'est la valeur binaire du nombre
  • Regrouper tous les bits en paquets de 4
  • Donner à chaque paquet sa valeur hexadécimale: c'est le nombre en hexadécimal

 

Autre exemple

[2 , 22 , 17] 32 =  ?

 

 

Digit 3

Digit 2

Digit 1

Notation base 32

2

22

17

Notation binaire

00010

10110

10001

Paquet de 4 bits

000 1010 1101 0001

Notation base 16

10

13

1

 

[2 , 22 , 17] 32 =   [10 , 13 , 1] 16

 

 

-Ý- CONVERSION 32 en 16

§        Ce qui suit sert à illustrer l'utilisation des bases

§        En réponse à une demande d'un visiteur du site

 

 Table de conversion: base 32 en base16

Exemple

[1 , 4]Base 32 = [2 , 4]Base 16

 

32 = >

16

 

32 = >

16

 

32 = >

16

0

0

0

0

 

1

0

2

0

 

2

0

4

0

0

1

0

1

 

1

1

2

1

 

2

1

4

1

0

2

0

2

 

1

2

2

2

 

2

2

4

2

0

3

0

3

 

1

3

2

3

 

2

3

4

3

0

4

0

4

 

1

4

2

4

 

2

4

4

4

0

5

0

5

 

1

5

2

5

 

2

5

4

5

0

6

0

6

 

1

6

2

6

 

2

6

4

6

0

7

0

7

 

1

7

2

7

 

2

7

4

7

0

8

0

8

 

1

8

2

8

 

2

8

4

8

0

9

0

9

 

1

9

2

9

 

2

9

4

9

0

10

0

10

 

1

10

2

10

 

2

10

4

10

0

11

0

11

 

1

11

2

11

 

2

11

4

11

0

12

0

12

 

1

12

2

12

 

2

12

4

12

0

13

0

13

 

1

13

2

13

 

2

13

4

13

0

14

0

14

 

1

14

2

14

 

2

14

4

14

0

15

0

15

 

1

15

2

15

 

2

15

4

15

0

16

1

0

 

1

16

3

0

 

2

16

5

0

0

17

1

1

 

1

17

3

1

 

2

17

5

1

0

18

1

2

 

1

18

3

2

 

2

18

5

2

0

19

1

3

 

1

19

3

3

 

2

19

5

3

0

20

1

4

 

1

20

3

4

 

2

20

5

4

0

21

1

5

 

1

21

3

5

 

2

21

5

5

0

22

1

6

 

1

22

3

6

 

2

22

5

6

0

23

1

7

 

1

23

3

7

 

2

23

5

7

0

24

1

8

 

1

24

3

8

 

2

24

5

8

0

25

1

9

 

1

25

3

9

 

2

25

5

9

0

26

1

10

 

1

26

3

10

 

2

26

5

10

0

27

1

11

 

1

27

3

11

 

2

27

5

11

0

28

1

12

 

1

28

3

12

 

2

28

5

12

0

29

1

13

 

1

29

3

13

 

2

29

5

13

0

30

1

14

 

1

30

3

14

 

2

30

5

14

0

31

1

15

 

1

31

3

15

 

2

31

5

15

 

En base 16 (en jaune)

§        On constate que le motif vertical des "unités"

1, 2, 3, 4…14, 15

§        se répète de manière symétrique

 

§        Quant au chiffre des "dizaines"

il tout simplement multiplié par 2

 

-Ý- EXPLICATIONS

§        Avec un peu de maths,

o       on peut comprendrepourquoi c'est si simple

 

§        Évidemment, 32 = 2 x 16

o       alors:

 

Base 32

N32 =

c x 322

+ b x 321

+ a x 320

Base 16

N16 =

c x (2 x16)2

+ b x (2 x 16)1

+ a x (2 x 16)0

 

22 c x 162

+ 21 b x 161

+ 20 a x 160

4 c x 162

+ 2 b x 161

+ 1 a x 160

 

Rappel

x0 = 1

et

x1 = x

 

Et les retenues…ne pas les oublier!

§        Oui, ça se complique un peu!

o       En effet, il se peut que

o       a soit supérieur à la valeur

o       de la nouvelle base (16)

§        Alors,

o       il faut retrancher 16 aux unités

o       et ajouter 1 de retenue aux "dizaines"

 

Exemple

[0,17]32 =

0 x 32 + 17

=

17

=

16 + 1

=

1 x 161 + 1

=

[1 , 1]16

  

-Ý- FORMULE DE CONVERSION

 Ébauche de formule

a16 = a32 mod 16

§        On note:

A = a mod 16

 

§        qui veut dire:

o       que le nouveau coefficient

o       est tout simplement le reste de l'ancien

o       dans sa division par 16:

17 / 16 = 1 reste 1

 

§        On remarque aussi

o       que la retenue est égale

o       à la partie entière de la division

 

Rb = Entier (a32 / 16)

§        En notant:

Rb = Entier (a / 16) 

 

Formulation

a, b, c: coefficients en base 32

A, B, C en base 16

 

N32 =

c x 322

+ b x 321

+ a x 320

N16 =

4 c x 162

+ 2 b x 161

+ 1 a x 160

C x 162

B x 161

A x 160

 

Avec

C = (4c + Rc) mod 16

Avec

B = (2b+ Rb) mod 16

Avec

A = a mod 16

Avec

Rc = Ent (2b / 16)

Avec

Rb = Ent (a / 16)

 

 

§        On peut poursuivre l'établissement de la formule en procédant de la même manière

 

-Ý- LOGICIEL DE CALCUL

§        Il existe des logiciels de calcul mathématique

o       qui donne la conversion automatiquement

o       d'une base dans un autre

 

Exemple

L'instruction correspondante en MAPPLE est:

convert ( [c,b,a], base, 32, 16) )

 

Exemple de programme

de vérification de la formule

N32 = [2 , 22 , 17]

 

# Coefficients du nombre en base 32

a := 17:

b := 22:

c := 2:

# Calcul des coefficients en base 16

A := a mod 16;

B := (2*b+ trunc(a/16) ) mod 16;

C := (4*c+ trunc(2*b/16) ) mod 16;

#Vérification avec l'instruction incluse

X := convert ( [a,b,c], base, 32, 16 );

 

Impression du résultat de calcul

A := 1

B := 13

C := 10

X := [1, 13, 10]

N16 = [10 , 13 , 1]

Note: Mapple donne les coefficients dans l'autre sens

  

-Ý- EXEMPLES DE CONVERSION

 32 =>

 

16

1

1

1

 

 

4

2

1

2

2

2

 

 

8

4

2

3

3

3

 

 

12

6

3

4

4

4

 

1

0

8

4

5

5

5

 

1

4

10

5

6

6

6

 

1

8

12

6

7

7

7

 

1

12

14

7

8

8

8

 

2

1

0

8

9

9

9

 

2

5

2

9

 

 

 

 

 

 

 

16

16

16

 

4

2

1

0

 

 

 

 

 

 

 

31

31

31

 

7

15

15

15

32

32

32

 

8

4

2

0

  


-Ý-

Voir

§         Numération