利用栈的基本操作,实现十进制转二进制:输入一个十进制数字,输出该数字对应的二进制形式
时间: 2024-09-28 18:06:37 浏览: 55
利用栈的数据结构来将十进制转换为二进制,主要的过程是不断地除以2并将余数压入栈,当商变为0时,栈顶的元素即是从低位到高位的二进制位。以下是用C++实现的一个简单示例:
```cpp
#include <iostream>
#include <stack>
using namespace std;
string decimalToBinary(int num) {
stack<int> binaryStack;
while (num > 0) {
binaryStack.push(num % 2); // 把余数压入栈
num /= 2; // 更新num为商
}
string result = ""; // 存储最终结果
while (!binaryStack.empty()) {
result += to_string(binaryStack.top()); // 取出栈顶并添加到结果前
binaryStack.pop(); // 弹出栈顶元素
}
return result; // 返回二进制字符串,由高到低排列
}
int main() {
int input;
cout << "请输入一个十进制数: ";
cin >> input;
cout << "其对应的二进制数是: " << decimalToBinary(input) << endl;
return 0;
}
```
当你运行这个程序并输入一个十进制数字,它会输出该数字的二进制形式。
阅读全文