题目
十进制与任意进制转换,题目要求不解释。以十进制转二进制为例:
我们知道10转化成2进制是1010。所以具体思路见如下代码:
import java.util.Scanner;
/**
* 十进制转化任意进制
* Created by yanzhang on 2020/3/17 21:27
*/
public class DecimalConversion {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
long sourceData = scanner.nextLong();
long base = scanner.nextLong();
System.out.println(Long.toHexString(sourceData));
// System.out.println(Long.toBinaryString(sourceData));
System.out.println(decimalConversion(sourceData,base));
}
private static String decimalConversion(long sourceData, long base) {
if(sourceData==0)
return String.valueOf(sourceData);
StringBuffer stringBuffer = new StringBuffer();
while (sourceData!=0) {
stringBuffer.append(sourceData%base);
sourceData/=base;
}
return stringBuffer.reverse().toString();
}
}
结果
可用java 提供的进制转化函数做对比,结果如下