java实现十六进制转化为十进制范例
2012-04-30 22:42
281 查看
最近小弟写了一个十六进制转化为十进制的java程序,这个算法的大致思路是将输入的十六进制的数转换为2进制,然后将2进制转换为十进制的算法。该算法的时间效率不是很好,各位前辈有什么好的建议希望大家不吝赐教啊~ 小弟在此谢谢大家~
下面是我写的java代码:
public class DToTen {
/**
* @param args先将十六进制转化为2进制
*/
public String DToTwo(char[] a){
String str="";
for(int i=0;i<a.length;i++){
switch (a[i]) {
case '0':str+="0000";break;
case '1':str+="0001";break;
case '2':str+="0010";break;
case '3':str+="0011";break;
case '4':str+="0100";break;
case '5':str+="0101";break;
case '6':str+="0110";break;
case '7':str+="0111";break;
case '8':str+="1000";break;
case '9':str+="1001";break;
case 'A':str+="1010";break;
case 'B':str+="1011";break;
case 'C':str+="1100";break;
case 'D':str+="1101";break;
case 'E':str+="1110";break;
case 'F':str+="1111";break;
default:
break;
}
}
return str;
}
/*
* 将2进制转化为十进制
*/
public int twoToTen(String a){
char[] c=a.toCharArray();
int sum=0;
int s;
int i=0;
//注意下面的转换
for(;i<c.length-1;i++){//2进展的最后以为格外考虑
s=1;
if(c[i]=='1'){
for(int j=0;j<c.length-i-1;j++){
s=s*2;
}
sum+=s;
}
}
if(c[c.length-1]=='1'){
sum+=1;
}
return sum;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String d="12AB";
char[] a=d.toCharArray();
DToTen ttt=new DToTen();
String c=ttt.DToTwo(a);
System.out.println(ttt.twoToTen(c));
}
}
下面是我写的java代码:
public class DToTen {
/**
* @param args先将十六进制转化为2进制
*/
public String DToTwo(char[] a){
String str="";
for(int i=0;i<a.length;i++){
switch (a[i]) {
case '0':str+="0000";break;
case '1':str+="0001";break;
case '2':str+="0010";break;
case '3':str+="0011";break;
case '4':str+="0100";break;
case '5':str+="0101";break;
case '6':str+="0110";break;
case '7':str+="0111";break;
case '8':str+="1000";break;
case '9':str+="1001";break;
case 'A':str+="1010";break;
case 'B':str+="1011";break;
case 'C':str+="1100";break;
case 'D':str+="1101";break;
case 'E':str+="1110";break;
case 'F':str+="1111";break;
default:
break;
}
}
return str;
}
/*
* 将2进制转化为十进制
*/
public int twoToTen(String a){
char[] c=a.toCharArray();
int sum=0;
int s;
int i=0;
//注意下面的转换
for(;i<c.length-1;i++){//2进展的最后以为格外考虑
s=1;
if(c[i]=='1'){
for(int j=0;j<c.length-i-1;j++){
s=s*2;
}
sum+=s;
}
}
if(c[c.length-1]=='1'){
sum+=1;
}
return sum;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String d="12AB";
char[] a=d.toCharArray();
DToTen ttt=new DToTen();
String c=ttt.DToTwo(a);
System.out.println(ttt.twoToTen(c));
}
}
相关文章推荐
- JAVA十进制转化为十六进制
- delphi实现十进制与十六进制之间的转化
- java十进制和十六进制相互转化
- java实现:十六进制转换十进制
- Java 十进制 向二进制 十六进制 转化
- delphi实现十进制与十六进制之间的转化
- java实现:十进制转换为十六进制
- java实现十进制转化二进制
- 十进制转化为二,八,十六进制用栈实现(c语言编)
- JAVA十六进制转化成十进制
- java--十进制转化为二进制、十进制转化为十六进制、查表法十进制--十六进制、查表法十进制二进制、
- Java使用bit array实现二进制,十进制,十六进制值之间的转换
- java十六进制转化为其他进制 二进制转化为其他进制 十进制转化为其他进制案例
- java进制转换器 图形用户界面 十进制及其相反数分别转化为二,四,八,十六进制
- java十进制到二进制,十六进制的转化
- Java数值转化为二进制、十进制、十六进制字符串
- java--十进制转化成十六进制(可视化程序)
- java 十六进制转化成十进制
- c++ j将十进制整数转化为十六进制整数 用栈来实现
- Java中十进制与二进制、八进制以及十六进制的转化