domenica 23 settembre 2007

Conversione di un numero in altra base con VB.NET e C#

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:

  1. binaria
  2. ottale
  3. decimale
  4. 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.

Progetto VB.NET
Progetto C#

Nessun commento: