将一个十进制整数转换成2进制或8进制或16进制等进制表示的整数(用栈实现)c++代码
时间: 2024-02-20 21:02:07 浏览: 72
用c++实现进制转换(栈的应用)
以下是将十进制整数转换为2进制、8进制、16进制的C++代码,使用了栈来实现:
```c++
#include <iostream>
#include <stack>
using namespace std;
void decimalToBinary(int n) {
stack<int> s;
while (n > 0) {
int rem = n % 2;
s.push(rem);
n /= 2;
}
while (!s.empty()) {
cout << s.top();
s.pop();
}
}
void decimalToOctal(int n) {
stack<int> s;
while (n > 0) {
int rem = n % 8;
s.push(rem);
n /= 8;
}
while (!s.empty()) {
cout << s.top();
s.pop();
}
}
void decimalToHexadecimal(int n) {
stack<char> s;
while (n > 0) {
int rem = n % 16;
if (rem < 10) {
s.push(rem + '0');
} else {
s.push(rem - 10 + 'A');
}
n /= 16;
}
while (!s.empty()) {
cout << s.top();
s.pop();
}
}
int main() {
int n = 255;
cout << "Binary: ";
decimalToBinary(n);
cout << endl;
cout << "Octal: ";
decimalToOctal(n);
cout << endl;
cout << "Hexadecimal: ";
decimalToHexadecimal(n);
cout << endl;
return 0;
}
```
以上代码将十进制数 255 转换为二进制、八进制、十六进制表示,输出结果如下:
```
Binary: 11111111
Octal: 377
Hexadecimal: FF
```
阅读全文