Tutorials - Informatica

 

Decimali, Binari & C

Convertite(vi al)l' Hex !


Convertite(vi al)l' Hex !

Come abbiamo visto, si possono convertire numeri da una base ad un' altra con semplici operazioni, molto chiare per chi ha capito i concetti che stanno alla base della numerazione.
Anche gli esadecimali possono essere convertiti in altre basi e viceversa con metodi manuali.

Ad esempio, convertiamo un numero binario in uno esadecimale.
Un numero esadecimale di due cifre equivale ad un numero binario di 8 cifre, ovvero una cifra esadecimale equivale a 4 cifre binarie.
Se vogliamo sapere come diventa il binario 10100101 in esadecimale, possiamo procedere come segue :

  1. dividiamo il numero binario in due gruppi di 4 cifre :  10100101 = 1010 | 0101
  2. convertiamo ogni gruppo di 4 cifre nella cifra esadecimale corrispondente 10100101 = 1010 | 0101 = A | 5
  3. quindi   10100101base2  = A5base16


Altro esempio : convertire il binario 1110011100 in esadecimale

1110010011base2  = 11 | 1001 | 1100 = 3 | 9 | C = 39Cbase16

Come si vede, c'è una strettissima aderenza tra esadecimale e binario: entrambi parlano dello stato dei bit, il primo in maniera sintetica, il secondo in maniera esplicita.


Per convertire un esadecimale in binario il procedimento è altrettanto semplice. Convertiamo l' hex DAD0 in binario 

  1. consideriamo singolarmente ogni cifra esadecimale ; DAD0 = D | A | D | 0

  2. sostituiamo alla cifra l' equivalente binario : D =1101, A=1010,  0=0000
    per cui  DAD0 = D | A | D | 0 = 1101 | 1010 | 1101 | 0000

  3. quindi DAD0base16 = 1101101011010000base2

 

Altro esempio : convertire il binario F0CB in esadecimale

F0CBbase16  = F | 0 | C | B = 1111 | 0000 | 1100 |1 011 =
= 1111000011001011base2 

 

Più complessa è la conversione tra esadecimale e decimale, in quanto non esiste più una corrispondenza così diretta come col binario. E ci si può dare ragione del fatto semplicemente considerando che il 16 è una potenza di 2 ( 2^4 = 16), mentre 10 ha come divisori 2 e 5. E 5 non è divisibile per 2 senza resto.

Convertiamo un numero da esadecimale a decimale, ad esempio 3C1F (tre ci uno effe).

  1. considerare che la prima cifra a destra rappresenta unità : F = 15

  2. la seconda cifra da destra va moltiplicata per 16 = 1 * 16 = 16

  3. la terza cifra va moltiplicata per 16^2 : C = 12, quindi 12 * 16^2 = 12 * 256 = 3072

  4. la quarta cifra va moltiplicata per 16^3 :  3 * 16^3 = 3 * 4096 = 12288

  5. ecc. per eventuali altre colonne, moltiplicando per una ulteriore potenza di 16

  6. sommando i risultati delle singole operazione ottengo il valore decimale :
     

3C1Fbase16  = (3 * 16^3) + (C * 16^2) + (1 * 16^1) + (F  * 16^0)  =
= (3 * 4096) + (12 * 256) + (1 * 16) + (15  * 1) =
= 12288 + 3072 + 16 + 15 = 15391base10 

 

Altro esempio: convertire 10E22A (dieci e ventidue a) da esadecimale a decimale

10E22Abase16  = (1 * 16^5) + (0 * 16^4) + (E *16^3) + (2 * 16^2) + (2 * 16^1) + (A  * 16^0)  =
= (1 * 1048576) + (0 * 65536) +( 14 * 4096) + (2 * 256) + (2 * 16) + (10  * 1) =
= 1048576 + 0 + 57344 + 512 + 32 + 10 = 1106474base10 

 

Di nuovo, una volta capito il meccanismo, Calcolatrice ci risparmia questi conti noiosi.

Ma andiamo avanti.


 

 

 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 18/10/10.