Convertir un número en base 10 a base N

2701 vistas

Veamos una función que nos permitirá convertir un valor en base 10 a una base N



csharp
  1. private static int incremento = 64;
  2. public static string ToBaseN(int numero, int _base)
  3. {
  4.   int resto;
  5.   string cadena = string.Empty;
  6.   while (numero >= _base)
  7.   {
  8.     resto = numero % _base;
  9.     numero = (numero - resto)/_base;
  10.     if (resto > 9)
  11.     {
  12.       cadena = ((char)(resto - 9 + incremento)).ToString() + cadena;
  13.     }
  14.     else
  15.     {
  16.       cadena = resto.ToString() + cadena;
  17.     }
  18.   }
  19.   if (numero > 9)
  20.   {
  21.     cadena = ((char)(numero - 9 + incremento)).ToString() + cadena;
  22.   }
  23.   else
  24.   {
  25.     cadena = numero.ToString() + cadena;
  26.   }
  27.   return cadena.ToUpper();
  28. }



Consejo: limitar la conversión a la base 36 a fin de usar sólo carácteres alfanuméricos.