C++十进制转换为二进制
在计算机科学中,常常需要进行不同进制之间的转换,其中最常见的就是十进制到二进制的转换。在C++语言中,我们可以使用不同的方法来实现这一转换。
1. 方法一:使用位运算
#include <iostream>
#include <stack>
using namespace std;
stack<int> decimalToBinary(int decimal) {
stack<int> binaryStack;
while (decimal > 0) {
int remainder = decimal % 2;
binaryStack.push(remainder);
decimal = decimal / 2;
}
return binaryStack;
}
int main() {
int decimal;
cout << "请输入一个十进制数: ";
cin >> decimal;
stack<int> binaryStack = decimalToBinary(decimal);
cout << "转换为二进制数为: ";
while (!binaryStack.empty()) {
cout << binaryStack.top();
binaryStack.pop();
}
cout << endl;
return 0;
}
运行结果示例:
请输入一个十进制数: 10
转换为二进制数为: 1010
2. 方法二:使用递归
#include <iostream>
using namespace std;
void decimalToBinary(int decimal) {
if (decimal == 0) {
return;
}
int remainder = decimal % 2;
decimalToBinary(decimal / 2);
cout << remainder;
}
int main() {
int decimal;
cout << "请输入一个十进制数: ";
cin >> decimal;
cout << "转换为二进制数为: ";
decimalToBinary(decimal);
cout << endl;
return 0;
}
运行结果示例:
请输入一个十进制数: 15
转换为二进制数为: 1111
通过以上两种方法,我们可以在C++中实现将十进制数转换为二进制数的功能。无论是使用位运算还是递归,都可以轻松地完成这一任务。在实际应用中,可以根据具体需求选择合适的方法来实现进制转换。