
La funzione hex2dec() in Scilab
Nell'ambiente Scilab la funzione hex2dec() è la funzione chiave per trasformare dei valori esadecimali negli equivalenti decimali.
hex2dec(x)
Dove "x" rappresenta è una stringa che rappresenta un numero esadecimale (in base 16).
La funzione restituisce il valore decimale corrispondente.
E se "x" è un insieme di stringhe, ognuna delle quali indica un valore esadecimale? Nessun problema! hex2dec() le analizza tutte, restituendo un insieme di numeri decimali.
Facciamo un esempio pratico.
Prova a inserire hex2dec("A") nella riga di comando di Scilab.
hex2dec("A")
L'esadecimale A diventa il numero 10 in formato decimale.
ans=
10
E se hai un array di stringhe che rappresentano dei numeri esadecimali?
hex2dec(['A','B'])
In questo caso ogni singola stringa viene trasformata nel numero decimale corrispondente.
Ad esempio, "A" è il numero intero 10 mentre "B" è 11.
ans=
10. 11.
La bellezza di hex2dec() è che ti restituisce un output numerico.
Quindi, puoi anche usare i valori in uscita per svolgere altri calcoli, in modo diretto e senza doverli convertire.
hex2dec(['A']) + hex2dec(['B'])
Questo comando converte le stringhe 'A' ed 'B' da esadecimali a interi decimali, li somma 10+11 e restituisce 21 in formato decimale.
ans=
21
Ricorda però che il risultato delle operazioni matematiche è sempre un numero decimale.
Se ti interessa ottenere il risultato in esadecimale, puoi usare la funzione dec2hex() di Scilab che converte un intero in esadecimale.
dec2hex(hex2dec(['A']) + hex2dec(['B']))
In questo modo il risultato diventa "15" in notazione esadecimale. E' il valore esadecimale che corrisponde a 21.
ans=
"15"
Fai però attenzione che, in quest'ultimo caso, il risultato è una stringa. Non è un valore numerico.
Quindi, non puoi utilizzarlo in altri calcoli senza prima convertirlo.