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: 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
Publicar un comentario