使用stack容器适配器,将十进制数转换为2进制数据。即每次转化的二进制数存入栈中,再将栈中数据输出。 输入:十进制数
时间: 2024-03-03 10:48:19 浏览: 93
下面是一个使用stack容器适配器将十进制数转换为二进制数的示例代码:
```c++
#include <iostream>
#include <stack>
using namespace std;
void decimalToBinary(int num) {
stack<int> s;
while (num > 0) {
s.push(num % 2);
num /= 2;
}
while (!s.empty()) {
cout << s.top();
s.pop();
}
cout << endl;
}
int main() {
int num;
cout << "请输入一个十进制数:";
cin >> num;
cout << num << "的二进制表示为:";
decimalToBinary(num);
return 0;
}
```
在上述代码中,我们定义了一个名为`decimalToBinary`的函数,该函数接受一个整数参数`num`,并将该整数转换为二进制数。在函数内部,我们首先定义了一个`stack<int>`类型的栈`s`,用于存储每次转换得到的二进制数。然后,我们使用一个while循环,将整数`num`从低到高每一位上的二进制数依次压入栈中,直到`num`为0为止。最后,我们使用另一个while循环,将栈中的数据依次取出并输出,即可得到该整数的二进制表示。
在`main`函数中,我们首先提示用户输入一个十进制数,并将其存储在变量`num`中。然后,我们调用`decimalToBinary`函数将该整数转换为二进制数,并输出结果。
阅读全文