首页 > 其他分享 >#yyds干货盘点# 名企真题专题:进制转换

#yyds干货盘点# 名企真题专题:进制转换

时间:2022-12-31 15:38:18浏览次数:39  
标签:yyds 名企 进制 真题 16 flag 输出 append Scanner

1.简述:

描述

给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数

输入描述:

输入为一行,M(32位整数)、N(2 ≤ N ≤ 16),以空格隔开。

输出描述:

为每个测试实例输出转换后的数,每个输出占一行。如果N大于9,则对应的数字规则参考16进制(比如,10用A表示,等等)

示例1

输入:

7 2

输出:

111

2.代码实现:

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);

while (in.hasNextInt()) {
int m = in.nextInt();
int n = in.nextInt();
StringBuilder s = new StringBuilder();
String table = "0123456789ABCDEF";
//用来存储2-16进制中所有的可能
boolean flag = false; //标记下有没有加负号
if(m < 0){
m = -m;
flag = true;
//本身是负数,我们改为正数了。标记下
}
if(m == 0){
s.append('0');
}
while (m != 0) {
s.append(table.charAt(m % n));
m /= n;
}
if(flag){
s.append('-');
}
s.reverse();
System.out.println(s);
}

}

}

标签:yyds,名企,进制,真题,16,flag,输出,append,Scanner
From: https://blog.51cto.com/u_15488507/5982104

相关文章