基于Java的16进制数与2进制数互相转化方法Word文件下载.docx
《基于Java的16进制数与2进制数互相转化方法Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于Java的16进制数与2进制数互相转化方法Word文件下载.docx(7页珍藏版)》请在冰豆网上搜索。
str=ch[i];
if(str>
='
0'
&
str<
9'
){
Stringst=Character.toString(str);
//字符转字符串
p=Integer.valueOf(st).intValue();
//字符串转整型
}
else{
if(str=='
A'
){str=10;
}
B'
){str=11;
C'
){str=12;
D'
){str=13;
E'
){str=14;
F'
){str=15;
.'
){str=16;
p=(int)str;
switch(p){
case0:
s+="
0000"
break;
case1:
0001"
case2:
0010"
case3:
0011"
case4:
0100"
case5:
0101"
case6:
0110"
case7:
0111"
case8:
1000"
case9:
1001"
case10:
1010"
case11:
1011"
case12:
1100"
case13:
intjudge=4-(str.length()%4);
//前面该补judge个0
if(judge!
=0&
judge!
=4){//当str.length()%4为0时,judge为4,所以要加judge!
=4这个条件
for(inti=1;
=judge;
str="
0"
+str;
}
}
char[]ch=str.toCharArray();
int[]a=newint[str.length()];
str.length();
Stringst=Character.toString(ch[i]);
//把字符转换为字符串
a[i]=Integer.valueOf(st).intValue();
//再把字符串转换为整型
//System.out.print(a[i]);
//用来测试是否在前面补零
}
for(inti=1;
=str.length();
if(i==wei&
wei!
=0){s+="
."
if(i%4==0){
c=a[i-1]*1+a[i-2]*2+a[i-3]*4+a[i-4]*8;
if(c<
10){
intb=a[i-1]*1+a[i-2]*2+a[i-3]*4+a[i-4]*8;
s+=b+"
}
if(c>
=10){
switch(c){
case10:
s+="
A"
break;
case11:
B"
case12:
C"
case13:
D"
case14:
E"
case15:
F"
}
System.out.println("
结果为十六进制数:
+s);
}
publicstaticvoidmain(String[]args){
longstartTime=System.currentTimeMillis();
Scannersc=newScanner(System.in);
请输入一串二进制数字:
);
Stringstr=sc.nextLine();
//Stringstr="
101001011011111101010001"
BtoH_fun(str);
longendTime=System.currentTimeMillis();
longusedTime=endTime-startTime;
程序执行所用时间:
+usedTime+"
毫秒!