NC112 进制转换
描述
给定一个十进制数 M ,以及需要转换的进制数 N 。将十进制数 M 转化为 N 进制数。
当 N 大于 10 以后, 应在结果中使用大写字母表示大于 10 的一位,如 ‘A’ 表示此位为 10 , ‘B’ 表示此位为 11 。
若 M 为负数,应在结果中保留负号。
示例1
输入:
7,2
复制
返回值:
“111”
import java.util.*;
public class Solution {
/**
* 进制转换
* @param M int整型 给定整数
* @param N int整型 转换到的进制
* @return string字符串
*/
public String solve (int M, int N) {
// write code here
StringBuilder ans = new StringBuilder() ;
if(M == 0){
return "0" ;
}
String t = "0123456789ABCDEF" ;
boolean c = false ;
if(M < 0){
c = true ;
M = -M ;
}
while(M > 0){
ans.append(t.charAt(M % N)) ;
M = M / N ;
}
if(c){
ans.append('-') ;
}
return ans.reverse().toString();
}
}