工作中每天都在与工程代码打交道,调用各种API,而忽略了一些最本质和最基础的编码练习,对于一些常用的基础编码练习还是非常有必要的。此外在面试时这点也非常重要,如果不刻意练习些基础编程题的话,面试时是很吃亏的。
下面就练习下,最常见的进制转换,十进制数转任意进制,题目不难,关键点在于对于这种基于的东西,能否条件反射般立马想出来最核心的那段逻辑。
public class BitTrans {
public static char[] ans = new char[1000];
public static int trans(int n, int b) {
int m, j = 0;
while(n != 0) {
m = n % b;
ans[j++] = (char) (m < 10 ? m + '0' : m - 10 + 'A');
n /= b;
}
return j;
}
public static void main(String[] args) {
int p = trans(23, 12);
for(int i = p - 1; i >= 0; i--) {
System.out.print(ans[i]);
}
}
}