我是 Java 新手。我想编写一个仅使用算术运算将基数 2、3、4、5、6、7、8、9、16 转换为基数 10 的程序。
我已经完成了从键盘读取字符串(如果数字是十六进制)并将其转换为整数,之后我做了一个while循环,将数字拆分为数字并将它们反转。
现在我不知道如何使这些数字在 0、1、2 等(二进制情况下)乘以 2 以将数字转换为以 10 为底。
例如 1001(十进制数字 9)就像 1x2(pow 0)+0x2(pow 1)+0x2(pow 2)+1x2(pow 3)。
我的代码:
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Introduceti din ce baza doriti sa convertiti numarul: 2, 3, 4, 5, 6, 7, 8, 9, 16 ");
int n = Integer.parseInt(br.readLine());
Scanner scanner = new Scanner(System.in);
System.out.println("Introduceti numarul care doriti sa fie convertit din baza aleasa ");
String inputString = scanner.nextLine();
if (n==2){
int conv = Integer.parseInt(inputString);
while (conv>0){
System.out.println (conv%10);
conv = conv/10;
}
}
}