Conversione dei numeri tra basi

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 100 --> 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
100 (conversione da binario a decimale) = 5 in ottale corrisponde a 4
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 si considera il (A) in base 10 che convertito in binario è: = (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
si considera il (5) in base 10 che convertito in binario è: = (101)2
(1)8
si considera il (1) in base 10 che convertito in binario è: = (001)2
(6)8
si considera il (6) in base 10 che convertito in binario è: = (110)2
ne consegue che:
(5 1 6)8 = (101001110)2