进制转换

进制转换能够衍生出的题型还是挺多的,但是只要能够理解进制转换的思想,其他题目也只是举一反三的事情

首先看问题描述

 

这个题目需要注意一个点,就是要考虑正数和负数两种情况,再就是十六进制,思路主要是通过while循环的方式,对需要转化为的进制数不断取余

 代码如下:

class Solution {
public:
    /**
     * 进制转换
     * @param M int整型 给定整数
     * @param N int整型 转换到的进制
     * @return string字符串
     */
    string solve(int M, int N) {
        string result;
        bool flag=true;
        const char *a="0123456789ABCDEF";
        if(M<0){
            M=-M;
            flag=false;
        }// write code here
        while(M!=0){
            result=a[M%N]+result;
            M/=N;
        }
        if(!flag){
            result="-"+result;
        }
        return result;
    }
};

 

posted @ 2021-06-03 23:16  qwer95  阅读(47)  评论(0)    收藏  举报