Conversione dei numeri tra basi diverse.

 

La necessità di convertire numeri tra basi oggi è ridotta solo ad alcune situazioni particolari, ad esempio progettazione di circuiti o in alcuni casi di programmazione.

 

 

 

 

Conversione da base b a base 10.

Per convertire in "Base 10" un numero rappresentato in una qualsiasi "BASE b", bisogna procedere nel seguente modo:

sommare le cifre del numero moltiplicate per la base b elevata alla potenza della posizione che occupa la cifra.

 

Esempi.

(A5E)16 = A x 162 + 5 x 161 + E x 160 = 10 x 256 + 5 x 16 + 14 x 1 = 2560 + 80 + 14 = (2654)10

(235)8 = 2 x 82 + 3 x 81 + 5 x 80 = 128 + 24 + 5 = (157)10

(10011)2 = 1 x 24 + 0 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 16 + 2 + 1 = (19)10

 

 

 

Conversione da base 10 a base b.

Si procede nel modo seguente:

dividere il numero da convertire per la base b fino a quando l’ultimo quoziente è minore della base stessa (b), dopodiché il numero convertito si ottiene prendendo l’ultimo quoziente e tutti i resti delle divisioni, procedendo dall’ultimo resto al primo e scrivendoli da sinistra verso destra.

 

Esempio: Convertire il numero 12 da Base 10 a Base 2

12 : 2 = 6 con resto=0

6 : 2 = 3 con resto =0

3 : 2 = 1 con resto =1

1 : 2 = 0 con resto =1

quindi: (1100)2

 

Esempio: Convertire il numero 120 da Base 10 a Base 8

120 : 8 = 15 con resto = 0

15 : 8 = 1 con resto = 7

1 : 8 = 0 con resto 1

quindi: (170)8

 

Esempio: Convertire il numero 520 da Base 10 a Base 16

520 : 16 = 32 con resto = 8

32 : 16 = 2 con resto = 0

2 : 16 = 0 con resto 2

quindi: (208)16

 

Esempio: Convertire il numero 1253 da Base 10 a Base 16

1253 : 16 = 78 con resto = 5

78 : 16 = 4 con resto = 14 = E

4 : 16 = 0 con resto 4

quindi: (4E5)16

 

 

Osservazione:

Si osservi che la conversione dalla base 2 alla base 16 e/o 8, e viceversa,è più semplice e veloce di quella da decimale ad altre basi.

 

 

Infatti basta considerare che per rappresentare le sedici cifre diverse del codice esadecimale occorrono 4 bit (24 = 16) mentre per rappresentare le otto cifre diverse del codice ottale occorrono 3 bit (23 = 8).

Ne risulta che per convertire un numero binario in esadecimale o in ottale, è sufficiente raggruppare le cifre binarie rispettivamente in gruppi di quattro o tre cifre (bit) a partire da quelle "meno significative": si ricava immediatamente il numero grazie alla sostituzione dei bit così ricavati con la cifra esadecimale o ottale corrispondente.

 

 

Esempio: conversione da binario in esadecimale

111 1111 0001 1010 --> 7 15 1 10 --> (7F1A)16

dove:

1010 (conversione da binario a decimale) = 10 in esadecimale corrisponde ad A

0001 (conversione da binario a decimale) = 1 in esadecimale corrisponde ad 1

1111 (conversione da binario a decimale) = 15 in esadecimale corrisponde ad F

111 (conversione da binario a decimale) = 7 in esadecimale corrisponde ad 7

 

 

 

Esempio: conversione da binario in ottale

101 111 110 --> 5 7 4 --> (574)8

dove:

101 (conversione da binario a decimale) = 5 in ottale corrisponde a 5

111 (conversione da binario a decimale) = 7 in ottale corrisponde a 7

110 (conversione da binario a decimale) = 5 in ottale corrisponde a 5

 

Analogamente si procede per la conversione dalla base 16 e/o 8 alla base 2.

 

Esempio:

Convertire il numero (A B 2)16 in Binario.

Poiché:

 

(A)16 = (10)10 = (1010)2

(B)16 = (11)10 = (1011)2

(2)16 = (2)10 = (0010)2

ne consegue che:

(A B 2)16 = (101010110010)2

 

Esempio:

Convertire il numero (516)8 in Binario.

Poiché:

 

(5)8 = (5)10 = (101)2

(1)8 = (1)10 = (001)2

(6)8 = (6)10 = (110)2

ne consegue che:

(5 1 6)8 = (101001110)2