本帖最后由 只想好好的 于 2015-5-11 10:22 编辑
就是将一个十进制整数转换为十六进制
public class TestPrint{
public static void main(String[] args) {
int num = 60; //定义要转换的整数
//将之转换为16进制 ,直接调用Interger里面的toHexString(int i)静态方法
// 如果不理解 可以查看api文档
String str = Integer.toHexString(num);
System.out.println(str);
//如果要知道用代码实现可以,看下面toHex()方法
toHex(num);
}
public static void toHex(int num){
int num1 = num;
//定义一个对应关系表
char[] chs = {'0','1','2','3',
'4','5','6','7',
'8','9','A','B',
'C','D','E','F',};
/*
* 一会查表会查到比较的数据,数据一多,就先存储起来,在进行操作
* 所以定义一个数组,临时容器
*/
char[] arr = new char[8];
int pos = 0;
while(num != 0){
int temp = num & 15;
arr[pos++] = chs[temp];
num = num >>> 4;
}
System.out.print("十进制:" + num1 + " 转换十六进制为:" );
for(int i = pos - 1; i >= 0; i--){
System.out.print(arr);
}
System.out.println();
}
}
输出:
3c
十进制:60 转换十六进制为:3C
|