天天看点

进制转换进制转换

进制转换

题目描述

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

代码

import java.util.*;


public class Solution {
    /**
     * 进制转换
     * @param M int整型 给定整数
     * @param N int整型 转换到的进制
     * @return string字符串
     */
    public String solve (int M, int N) {
        // write code here
        //特判
        if (M == 0) {
            return "0";
        }
        //正负转换
        int sign = 1;
        if (M < 0) {
            sign = -1;
            M = -M;
        }
        
        StringBuffer sb = new StringBuffer();
        while( M > 0){
            int a = M%N;
            
            if(a >=0 && a<10){
                sb.append(a);
            }else{
                sb.append( (char)('A'+a-10) );
            }
            
            M = M/N;
        }
        if (sign == -1) {
            sb.append('-');
        }
        sb.reverse();
        return sb.toString();
    }
}