Conversione di una stringa in esadecimale

Horus2
Le mie reminiscenze nella conversazione nei diversi formati si fermano al binario... dell'esadecimale devo ammettere che ricordo molto poco (in pratica so solo che è composto da 16 caratteri diversi :-D )
A ogni modo non ho mai studiato come convertire una stringa (parola tanto per capirci) in esadecimale.

Io ho trovato una tabella dove sono scritte le traduzioni, a questo link:
http://www.neurophys.wisc.edu/comp/docs/ascii.html
ma non ho capito come usarla. Basta semplicemente guardare la corrispondenza di ogni lettera e affiancarla? Per esempio, "casa" diventerebbe:
063 061 073 061

Mi pare troppo semplice :roll:

Risposte
Horus2
Nessuna idea?

_luca.barletta
Sinceramente non capisco la tua domanda. Vuoi sapere come avviene la conversione da decimale ad hex?

Horus2
Si. Devo tradurre una comune stringa (una parola) in esadecimale... Suppongo ci siano dei programmi in giro che lo fanno, ma non sono riuscito a trovarne neanche uno :(

_luca.barletta
Per trasformare un numero decimale $a_(10)$ nel suo equivalente hex $a_(16)$ è sufficiente calcolarti tutti i resti delle divisioni successive per 16 e leggere la sequenza dei resti al contrario. Ad es ti trasformo 100 in hex:

100mod16 = 4, [100/16]=6
6mod16=6, [6/16]=0 fine.

La sequenza dei resti letti al contrario è 64.
Dunque $100_(10)=64_(16)$

Horus2
Penso di aver capito... però alle lettere quali valori dò? Per esempio, la lettera A come faccio a dividerla per 16? :-D

_luca.barletta
'A' è un simbolo della rappresentazione esadecimale, e vale $A_(16)=10_(10)$. Analogamente vai avanti fino alla 'F'

Horus2
Ok, grazie per l'aiuto :wink:

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.