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