用c++编写一个程序,输入一个八进制数,输出该数对应的十进制数。
时间: 2024-09-23 09:15:50 浏览: 39
C++ 十进制数与八进制数之间的灵活转换(自定义函数)
在C++中,你可以创建一个简单的函数来实现这个功能。这里我们使用了数组和乘法运算来进行转换,因为八进制每一位的值都是0到7,可以直接通过数组索引找到对应的十进制位。
```cpp
#include <iostream>
#include <string> // 用于处理字符串
int octal_to_decimal(const std::string& octal_num) {
const int decimal_values[8] = {0, 1, 2, 3, 4, 5, 6, 7}; // 八进制对应十进制的映射
int decimal = 0;
int power = 0;
for (char digit : octal_num) {
if (digit >= '0' && digit <= '7') {
decimal += decimal_values[digit - '0'] * pow(8, power);
power++;
}
}
return decimal;
}
int main() {
std::string octal_input;
std::cout << "请输入一个八进制数: ";
std::cin >> octal_input;
int decimal_result = octal_to_decimal(octal_input);
std::cout << "该八进制数对应的十进制数是: " << decimal_result << std::endl;
return 0;
}
```
在这个程序中,我们首先读取用户输入的八进制数,然后逐位转换成十进制,最后返回总和。
阅读全文