Algoritmo:Convertir número décimal a hexadecimal en Java

Hola…   En este post quiero os  regalar un algoritmo (de mi autoría) que he realizado en pseudocódigo a lápiz y papel, pero se los regalaré en un lenguaje en el cuál aún no estoy acostumbrado a programar, Java.
El Algoritmo es fácil y sencillo, espero te sirva de ayuda:
método (ó función):    firstHex(int dec): Recibe como parámetro un numero décimal menor que 16. Sirve para convertir los numeros del 10 al 15 a su equivalente en Hexadecimal (A,B,C,D,E ó F).  Si es un numero menor que 10 devuelve el mismo número.
1 public String firstHex(int dec) {
  2         String numeroHex=""; 
  3         if(dec<16) {
  4             switch(dec) { 
  5                     case 10:
  6                     numeroHex="A"; 
  7                     break; 
  8                     case 11:
  9                     numeroHex="B"; 
 10                     break; 
 11                     case 12:
 12                     numeroHex="C"; 
 13                     break; 
 14                     case 13:
 15                     numeroHex="D"; 
 16                     break; 
 17                     case 14:
 18                     numeroHex="E"; 
 19                     break; 
 20                     case 15:
 21                     numeroHex="F"; 
 22                     break; 
 23                     default: 
 24                     numeroHex=Integer.toString(dec); 
 25                     break; 
 26                 } 
 27             return numeroHex; 
 28         } else { 
 29         return "false";
 30         } 
 31     }
método (ó función):   toHex(int dec): Recibe como parámetro un numero décimal cualquiera (menor, igual o mayor que 16).  Su función es de convertir totalmente el número en Hexadecimal.  Hace uso defirstHex(int dec).




  1 public String toHex(int dec) {
  2         int cociente=16, residuo=0;
  3         String numeroHex="", numeroHex1="";
  4         if(dec<16)
  5          {
  6              numeroHex=firstHex(dec);
  7          } else 
  8            {
  9              do 
 10               {
 11                cociente=dec/16;
 12                residuo=dec%16;
 13                dec=cociente;
 14                numeroHex1=firstHex(residuo);
 15                numeroHex=numeroHex1+numeroHex;
 16                dec=cociente;         
 17               } while (dec&gt;=16);
 18         numeroHex1=firstHex(dec);
 19         numeroHex=numeroHex1+numeroHex;
 20         }
 21         return numeroHex;
 22     }

Por ultimo sólo es llamar el método (o función) toHex(int dec). Ejemplo:  Queremos convertir el número 349.



  1 String numeroHexadecimal;
  2 numeroHexadecimal=toHex(349);




Autor del Articulo:
Eday Alix Gonzalez 


Blog del Autor: 
http://solucionesdeingenio.com/ingeday/

No hay comentarios:

Publicar un comentario en la entrada