基于Java的16进制数与2进制数互相转化方法.docx

上传人:b****5 文档编号:4534940 上传时间:2022-12-01 格式:DOCX 页数:7 大小:43.03KB
下载 相关 举报
基于Java的16进制数与2进制数互相转化方法.docx_第1页
第1页 / 共7页
基于Java的16进制数与2进制数互相转化方法.docx_第2页
第2页 / 共7页
基于Java的16进制数与2进制数互相转化方法.docx_第3页
第3页 / 共7页
基于Java的16进制数与2进制数互相转化方法.docx_第4页
第4页 / 共7页
基于Java的16进制数与2进制数互相转化方法.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

基于Java的16进制数与2进制数互相转化方法.docx

《基于Java的16进制数与2进制数互相转化方法.docx》由会员分享,可在线阅读,更多相关《基于Java的16进制数与2进制数互相转化方法.docx(7页珍藏版)》请在冰豆网上搜索。

基于Java的16进制数与2进制数互相转化方法.docx

基于Java的16进制数与2进制数互相转化方法

基于Java的16进制数与2进制数互相转化方法

//十六进制数转二进制数

importjava.util.Scanner;

publicclassH_to_B{

staticvoidHtoB_fun(Stringn){

char[]ch=n.toCharArray();

charstr;

Strings="";

intp=0;

for(inti=0;i

str=ch[i];

if(str>='0'&&str<='9'){

Stringst=Character.toString(str);//字符转字符串

p=Integer.valueOf(st).intValue();//字符串转整型

}

else{

if(str=='A'){str=10;}

if(str=='B'){str=11;}

if(str=='C'){str=12;}

if(str=='D'){str=13;}

if(str=='E'){str=14;}

if(str=='F'){str=15;}

if(str=='.'){str=16;}

p=(int)str;

}

switch(p){

case0:

s+="0000";

break;

case1:

s+="0001";

break;

case2:

s+="0010";

break;

case3:

s+="0011";

break;

case4:

s+="0100";

break;

case5:

s+="0101";

break;

case6:

s+="0110";

break;

case7:

s+="0111";

break;

case8:

s+="1000";

break;

case9:

s+="1001";

break;

case10:

s+="1010";

break;

case11:

s+="1011";

break;

case12:

s+="1100";

break;

case13:

intjudge=4-(str.length()%4);//前面该补judge个0

if(judge!

=0&&judge!

=4){//当str.length()%4为0时,judge为4,所以要加judge!

=4这个条件

for(inti=1;i<=judge;i++){

str="0"+str;

}

}

}

char[]ch=str.toCharArray();

int[]a=newint[str.length()];

for(inti=0;i

Stringst=Character.toString(ch[i]);//把字符转换为字符串

a[i]=Integer.valueOf(st).intValue();//再把字符串转换为整型

//System.out.print(a[i]);//用来测试是否在前面补零

}

for(inti=1;i<=str.length();i++){

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:

s+="B";

break;

case12:

s+="C";

break;

case13:

s+="D";

break;

case14:

s+="E";

break;

case15:

s+="F";

break;

}

}

}

}

System.out.println("结果为十六进制数:

"+s);

}

publicstaticvoidmain(String[]args){

longstartTime=System.currentTimeMillis();

Scannersc=newScanner(System.in);

System.out.println("请输入一串二进制数字:

");

Stringstr=sc.nextLine();

//Stringstr="101001011011111101010001";

BtoH_fun(str);

longendTime=System.currentTimeMillis();

longusedTime=endTime-startTime;

System.out.println("程序执行所用时间:

"+usedTime+"毫秒!

");

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1