十进制转二进制代码实现cpp
时间: 2025-03-04 20:49:34 浏览: 61
### C++ 实现十进制转换为二进制
在C++中,可以使用多种方式来实现十进制到二进制的转换。下面展示一种基于递归的方法以及另一种迭代的方式。
#### 递归方法
通过不断除以2并打印余数的方式来完成转换过程[^2]:
```cpp
#include <iostream>
using namespace std;
void decimalToBinary(int decimal){
if(decimal > 0){
decimalToBinary(decimal / 2);
cout << decimal % 2;
}
}
int main(){
int decimal;
cout << "Enter a decimal number: ";
cin >> decimal;
cout << "Binary representation: ";
decimalToBinary(decimal);
cout << endl;
return 0;
}
```
此程序首先定义了一个名为`decimalToBinary`的函数用于执行实际的转换操作。当传入参数大于零时,该函数会继续调用自己并将当前数值除以2的结果作为新的参数传递给下一次调用;一旦达到终止条件(即数值不大于零),则开始返回,并依次输出每次取模运算得到的余数,从而形成完整的二进制表示形式。
#### 迭代方法
除了上述递归方案外,还可以采用循环结构来进行同样的工作。这里给出一个简单的例子[^1]:
```cpp
#include <iostream>
#include <stack>
std::string transfer(int num) {
std::stack<int> s;
while (num != 0) {
s.push(num % 2);
num /= 2;
}
if(s.empty()) return "0";
std::string result = "";
while (!s.empty()) {
result += std::to_string(s.top());
s.pop();
}
return result;
}
int main() {
int n;
std::cout << "请输入要转换成二进制的正整数:";
std::cin >> n;
std::cout << "其对应的二进制为:" << transfer(n) << '\n';
return 0;
}
```
这段代码利用栈的数据结构存储每一位上的商值,在最后再将其弹出拼接成最终字符串形式的二进制表达式。这种方法同样能够有效地解决从十进制向二进制转化的问题。
阅读全文
相关推荐














