n进制转十进制c++语言自定义函数代码
时间: 2024-09-16 16:05:34 浏览: 58
在C++中,你可以通过编写一个自定义函数来实现从任意进制(比如n进制)转换成十进制数。下面是一个简单的示例,该函数接受一个字符串表示的n进制数字和其基数作为输入:
```cpp
#include <string>
#include <cmath>
// 自定义函数:将n进制字符串转换为十进制整数
int convertBaseToDecimal(const std::string &input, int base) {
int decimal = 0;
int power = input.length() - 1;
for (char digit : input) {
if (digit >= '0' && digit <= '9') { // 对于0-9
decimal += static_cast<int>(digit - '0') * pow(base, power);
} else if (digit >= 'A' && digit <= 'Z') { // 对于A-Z,减去'A'的ASCII值
decimal += static_cast<int>(digit - 'A' + 10) * pow(base, power);
} else if (digit >= 'a' && digit <= 'z') { // 对于a-z,减去'a'的ASCII值
decimal += static_cast<int>(digit - 'a' + 10) * pow(base, power);
}
power--;
}
return decimal;
}
阅读全文