天天看點

進制轉換進制轉換

進制轉換

題目描述

給定一個十進制數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();
    }
}