Convertir Binario : Decimal con java

Revisando mi codigoteca me encontre un par de metodos en java, los cree como parte de un sistema y sirven para convertir un valor binaro a decimal o viceversa.

Metodo convertir decimal a binario
/** Metodo: String dec2bin(int, int, int)
     @param num valor base decimal a convertir
     @param bitSeparacion hace una separacion entre los bits al llegar al bit numero=valor de bitSeparacion
     @param nBits longitud de la cadena generada
     @return una cadena con la representacion base binaria
  */
  private static String dec2bin(int num, int bitSeparacion, int nBits){
    int _1erBit=(int)(Math.log(num)/Math.log(2));
    int aux=0;
    String repreBin="";
    for(int i=nBits-1;i>-1;i--){
      if(i>_1erBit) repreBin+="0";
      else if(aux+Math.pow(2,i) <= num){
        aux+=Math.pow(2,i);
        repreBin+="1";
      }
      else repreBin+="0";
      if(nBits-i == bitSeparacion) repreBin+=" ";
    }
    return repreBin;
  }

Metodo convertir binario a decimal
/** Metodo: int bin2dec(String)
     @param cadena que representa un valor base binario
     @return valor convertido a base decimal
  */
  private static int bin2dec(String repreBin){
    int res=0;
    StringTokenizer st = new StringTokenizer(repreBin);
    String repBin2 = st.nextToken();
    if(st.hasMoreTokens()) repBin2 += st.nextToken();
    for(int i=repBin2.length()-1;i>=0;i--)
      res+=(repBin2.charAt(i)=='1'?Math.pow(2,(repBin2.length()-i-1)):0);
    return res;
  }

Comentarios

Entradas populares