NC112 16進変換(アナログ)

NiukeNC112ベース変換

ここに画像の説明を挿入


アイデア:残りを取得するために分割し続ける

注意:

char配列は、10より大きい基数を格納します

mが負の場合の処理


ACコード

import java.util.*;


public class Solution {
    
    
    /**
     * 进制转换
     * @param M int整型 给定整数
     * @param N int整型 转换到的进制
     * @return string字符串
     */
    public String solve (int m, int n) {
    
    
        // write code here
        StringBuffer sb = new StringBuffer();
        char[] cs = new char[]{
    
    '0', '1', '2', '3', '4', '5',
        					 '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
        int k = -m;
        m = Math.abs(m);
        while(m > 0) {
    
    
            // 余数
            int rem = m % n;
            sb.append(cs[rem]);
            m /= n;
        }
        
        return k > 0 ? "-" + sb.reverse().toString() : sb.reverse().toString();
    }
}



おすすめ

転載: blog.csdn.net/qq_43765535/article/details/112976659