Ho ritrovato questa funzione di conversione dati numerici da basi comprese fra 2 e 36.
In effetti è poco di più di una esercitazione in quanto il numero di conversioni possibili va ben oltre le quattro abitualmente e comunemente utilizzate:
- binaria
- ottale
- decimale
- esadecimale
La tecnica adottata per la conversione di un numero in un'altro abitualmente si poggia su continue conversioni da ascii a numerico e da numerico a carattere con sottrazione / aggiunta di valori.
In effetti io invece ho utilizzato direttamente una stringa di tutti i caratteri ascii "messi in fila" tutti di seguito senza la necessità di fare (sempre rischiose) operazioni di conversione da numero a carattere o da carattere a numero.
Tale stringa fornisce sia l'esponente da utilizzare per la trasformazione in numero base 10 del valore in input che il valore posizionale di ciascun elemento del valore in output.
La funzione è divisa sostanzialmente nelle parti:
- controllo validità valore in input / parametri
- trasformazione in valore base 10 del valore indicato come parametro
- conversione in altra base
Magari a qualcuno farà piacere.
Nessun commento:
Posta un commento