public class TransBin {
public static void main(String[] args) {
String num = "00101110";
TransBin tb = new TransBin();
String s = tb.transBinToHex(num);
System.out.println(s);
}
public String transBinToHex(String str){
int len = str.length() / 4;
String res = "";
for(int i = 0;i < len;i++){
char[] ch = new char[4];
str.getChars(i * 4, i * 4 + 4, ch, 0);
res = res + switchS(trans1(ch));
}
return res;
}
public int trans1(char[] ch){
int sum = 0;
for(int i = 0;i < 4;i++){
int y = 8;
if(ch[i] == '1'){
for(int j = 1;j <= i;j++){
y = y / 2;
}
sum = sum + y;
}
}
return sum;
}
public String switchS(int i){
String s = "";
switch(i){
case 10:
s = "A";
break;
case 11:
s = "B";
break;
case 12:
s = "C";
break;
case 13:
s = "D";
break;
case 14:
s = "E";
break;
case 15:
s = "F";
default:
s = "" + i;
}
return s;
}
}