string convertToBase(int num, int base){ string digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; string result = ""; while (num > 0) { result = digits[num % base] + result; num /= base; } return result; }
将指定进制的字符串转换为十进制数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
intconvertFromBase(string numStr, int base){ string digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int result = 0; for (int i = 0; i < numStr.length(); i++) { int d = digits.find(numStr[i]); result += d * pow(base, numStr.length() - 1 - i); } return result; }
intn2ten(string numStr, int b){ string temp = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int ans = 0; for(int i = 0; i < numStr.length(); i++) { ans *= b; ans += temp.find(numStr[i]); } return ans; }