C++ 进制转换
刷题——进制转换
将十进制的整数转换成其他进制的整数
由于十六进制的数值带有字符的,所以返回的值为字符串。
/* 进制转换 * @param M int整型 给定整数 * @param N int整型 转换到的进制 * @return string字符串 */ string solve(int M, int N) { std::string str;//存储结果 char alph[] = "0123456789ABCDEF";//字母表 for (int i = abs(M), o = 0, tail = 0; i >= 1; str.push_back(alph[tail])) { o = i; i = i / N;//得到模数,也就是高位值的和 tail = o - i * N;//得到余数,也就是当前位的值 } if (M < 0) str.push_back('-');//如果是负数,在前面加负号 std::reverse(str.begin(), str.end());//由于当前数字是相反的,于是将字符串 return str; }