利用c++写出进制转换的程序
时间: 2024-01-05 17:21:16 浏览: 88
C++ 进制转换程序
当然,我可以为你提供一个使用C++编写的进制转换程序的示例代码。这个程序可以将一个十进制数转换成二进制、八进制或十六进制数。下面是示例代码:
```c++
#include <iostream>
#include <stack>
#include <string>
using namespace std;
string convert(int num, int base) {
stack<char> s;
string result = "";
char digits[] = "0123456789ABCDEF";
while (num > 0) {
s.push(digits[num % base]);
num /= base;
}
while (!s.empty()) {
result += s.top();
s.pop();
}
return result;
}
int main() {
int num, base;
cout << "Enter a decimal number: ";
cin >> num;
cout << "Enter a base (2, 8, or 16): ";
cin >> base;
if (base == 2) {
cout << "Binary equivalent: " << convert(num, 2) << endl;
} else if (base == 8) {
cout << "Octal equivalent: " << convert(num, 8) << endl;
} else if (base == 16) {
cout << "Hexadecimal equivalent: " << convert(num, 16) << endl;
} else {
cout << "Invalid base." << endl;
}
return 0;
}
```
上述程序首先定义了一个`convert`函数,该函数接受两个参数,一个是要转换的十进制数,另一个是要转换成的进制数。该函数使用一个栈来辅助进行转换。
程序的主函数中,先要求用户输入一个十进制数和要转换的进制数。然后,根据用户输入的进制数调用`convert`函数,并输出转换后的结果。
通过这个程序,你可以看到栈在进制转换中的应用。该程序还可以帮助你更好地理解栈的工作原理和使用方法。
阅读全文