0%

Java进制转换

实现将10进制数字字符串转换为16进制数字字符串。

Java进制转换

实现将10进制数字字符串转换为16进制数字字符串。如“155”,输出“0x9B”。

数学上如何进行进制转换:155%16为进制的最后一位,155/16%16为进制的倒数第二位,依次类推。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
* @see java.lang.Integer#toString(int i, int radix)
/
public class ExchangeSystem {
public static void main(String[] args) {
int a = 155;
//代表进制的数组
char[] arr = new char[]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
StringBuilder result = new StringBuilder("0x");
while(a>0){
//a%16为进制的最后一位,a/16%16为进制的倒数第二位
result.insert(2,arr[a%16]);
a /= 16;
}
System.out.println(result);
}
}

可以查看jdk进制转化的源码。java.lang.Integer的toString(int i, int radix)方法