Convertir decimal a binario, octal y hexadecimal c#


Bienvenid@ lector/a, en esta nueva entrada que será algo pequeña, mostrare el procedimiento de conversión de números, en este caso copiaremos la metodología que utilice en un anterior post el cual puedes encontrar en el siguiente enlace convertir decimal a binario, octal y hexadecimal en java.

Para este procedimiento me centrare en tres diferentes formas de realizar la conversión de un número entero a diferentes bases en este caso binaria (2), Octal (8) y hexadecimal (16) veras la conversión de forma.

  • Re-cursiva.
  • Iterativa
  • Simplificada (incorporada en C#)


A continuación los extractos de códigos que harán posible los antes mencionado. Cabe destacar que todos los métodos devuelven una cadena con la condenación de la conversión a su respectiva base.

Convertir Decimal a Binario.

Re-cursiva

1:      public static String ToBinaryRec(int n)  
2:      {  
3:        string digit = Convert.ToString(n % 2);  
4:        if (n >= 2)  
5:        {  
6:          int resto = n / 2;  
7:          string restoString = ToBinaryRec(resto);  
8:          return restoString + digit;  
9:        }  
10:        return digit;  
11:      }  


Iterativa

1:      private static String ToBinaryIterative(int n) {  
2:        String resultado = String.Empty;  
3:        while (n > 0) {  
4:          int resto = n % 2;  
5:          n = n / 2;  
6:          resultado = resto.ToString() + resultado;  
7:        }  
8:        return resultado;  
9:      }  

Simplificada.

1:      private static String ToBinarySimple(int n) {  
2:        return Convert.ToString(n, 2);  
3:      } 



Convertir Decimal a Octal.


Re-cursiva.

1:      private static String ToOctalRec(int n)  
2:      {  
3:        String digito = Convert.ToString(n % 8);  
4:        if (n >= 8)  
5:        {  
6:          int resto = n / 8;  
7:          string restoString = ToOctalRec(resto);  
8:          return restoString + digito;  
9:        }  
10:        return digito;  
11:      }  


Iterativa.

1:      private static String ToOctalIterative(int n) {  
2:        String resultado = String.Empty;  
3:        while (n > 0) {  
4:          int resto = n % 8;  
5:          n = n / 8;  
6:          resultado = resto.ToString() + resultado;  
7:        }  
8:        return resultado;  
9:      }  


Simplificada.

1:      private static String ToOctalSimple(int n) {  
2:        return Convert.ToString(n, 8);  
3:      }  



Convertir Decimal a Hexadecimal.


Re-cursiva.

1:      private static String ToHexaRec(int n)  
2:      {  
3:        String resultado = String.Empty;  
4:        String digito = Convert.ToString(n % 16);  
5:        switch (n)  
6:        {  
7:          case 10: return "A";  
8:          case 11: return "B";  
9:          case 12: return "C";  
10:          case 13: return "D";  
11:          case 14: return "E";  
12:          case 15: return "F";  
13:        }  
14:        if (n >= 16)  
15:        {  
16:          int resto = n / 16;  
17:          string restoString = ToHexaRec(resto);  
18:          return restoString + digito;  
19:        }  
20:        return n.ToString();  
21:      }  


Iterativa.


1:      private static String ToHexaIterative(int n) {  
2:        String resultado = String.Empty;  
3:        switch (n)  
4:        {  
5:          case 10: return "A";  
6:          case 11: return "B";  
7:          case 12: return "C";  
8:          case 13: return "D";  
9:          case 14: return "E";  
10:          case 15: return "F";  
11:        }  
12:        while (n > 0) {  
13:          int resto = n % 16;  
14:          n = n / 16;  
15:          resultado = resto.ToString() + resultado;  
16:        }  
17:        return resultado;  
18:      }  

Simplificada.


1:      private static String ToHexaSimple(int n) {  
2:        return Convert.ToString(n, 16).ToUpper(); 
3:      }  


Resultados

Imagen 1: Conversión número 12 a binario, octal y hexadecimal.


Imagen 2: Conversión número 10500 a binario, octal y hexadecimal.



Si quieres descargar la aplicacion de ejemplo puedes descargarla desde el siguiente enlace binario_octal_hexadecimal .



 Este sitio fue creado en primera instancia como un lugar donde ir acumulando información y/o apuntes que considere de utilidad para un futuro cercano, pero a medida que ha avanzado el tiempo este lugar se a vuelto un punto de encuentro para muchas personas que se están iniciando en el mundo de la programación, es por eso que si estás leyendo esto estas invitado a participar en de esta comunidad que día a día va creciendo. Si estás dispuesto a cooperar te sugiero que dejes tus inquietudes, dudas o aportes en la caja de comentario de cualquiera de las entradas del blog o haciendo directamente desde el formulario de contacto que puede encontrar en la página de inicio y responderé a la brevedad.

Entradas más populares de este blog

Convertir decimal a binario, octal y hexadecima

Crear servicio web en Visual C# (WebService)