两种方法把10进制转化为16进制查表法第二种

来源:互联网 发布:sql server2000挂起 编辑:程序博客网 时间:2024/05/17 04:22

//第一种方法,用了StringBuffer是最简单的一种写法。
public class Demo
{
public static void main(String[] args){


System.out.print(toHex(60));
}
public static StringBuffer toHex(int num){//类型为StringBuffer!
StringBuffer sb=new StringBuffer();
for(int i=1;i<=8;i++){
int temp=num&15;//取num后四位二进制数
if(temp>10){
sb.append((char)(temp-10+'a'));//如果将四位二进制数转化为六进制数
}else{
sb.append(temp);//StringBuffer.append把字符加入字符串
}
num=num>>>4;}//无符号位移4位
return sb;
}

}

//第二种方法,用了数组转变十六进制的输出顺序,还用了查表法简化流程,a【】与b【】的类型要注意是字符型。

//需求,能够把10进制转化为16进制的函数。
public class Demo5
{
public static void main(String[] args){
System.out.print(toHex(60));

}
public static StringBuffer toHex(int num){
StringBuffer s=new StringBuffer();
char[] a={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
char[] b=new char[8];
int l=b.length;
while(num!=0){
int temp=num&15;
b[--l]=a[temp];
num=num>>>4;
}
for(int i=l;i<b.length;i++){
s.append(b[i]);
}
return s;
}
}

0 0
原创粉丝点击