请用C++代码来实现整数型的十进制转换为二进制
时间: 2023-12-09 18:03:59 浏览: 33
下面是一个简单的 C++ 代码示例,用于将一个整数型的十进制数转换为二进制数:
```c++
#include <iostream>
#include <stack>
using namespace std;
int main()
{
int n;
stack<int> s; // 定义一个栈,用于存储二进制数的每一位
cout << "请输入一个十进制数:";
cin >> n;
while (n != 0)
{
s.push(n % 2); // 将余数入栈
n /= 2; // 更新被除数
}
cout << "转换为二进制数为:";
while (!s.empty())
{
cout << s.top(); // 依次输出栈顶元素
s.pop(); // 弹出栈顶元素
}
cout << endl;
return 0;
}
```
该程序首先读入一个十进制数,然后利用栈来存储二进制数的每一位。具体地,程序通过不断地将十进制数除以2,得到的余数即为二进制数的每一位,将其入栈。最后,依次输出栈顶元素,即可得到二进制数。
相关问题
c++编程实现:将1个十进制整数转换为二进制数。
以下是将十进制整数转换为二进制数的C++代码:
```c++
#include <iostream>
#include <stack>
using namespace std;
void decimalToBinary(int decimal) {
stack<int> binaryStack; // 创建一个栈,用于存储二进制位
// 将十进制整数转换为二进制数
while (decimal > 0) {
int remainder = decimal % 2;
binaryStack.push(remainder);
decimal /= 2;
}
// 从栈中依次取出二进制位并输出
cout << "Binary: ";
while (!binaryStack.empty()) {
cout << binaryStack.top();
binaryStack.pop();
}
}
int main() {
int decimal;
cout << "Enter a decimal number: ";
cin >> decimal;
decimalToBinary(decimal);
return 0;
}
```
运行结果:
```
Enter a decimal number: 15
Binary: 1111
```
C++把二进制转换为十进制
可以使用C++中的std::bitset和std::string来实现二进制转十进制的功能。
示例代码如下:
```cpp
#include <iostream>
#include <bitset>
#include <string>
using namespace std;
int main()
{
string binary_str = "101010"; // 二进制字符串
bitset<32> bits(binary_str); // 将二进制字符串转换为 bitset 对象
cout << bits.to_ulong() << endl; // 输出转换后的十进制整数
return 0;
}
```
这段代码先定义了一个二进制字符串 `binary_str`,然后使用 `std::bitset` 将其转换为一个 `bits` 对象,最后使用 `to_ulong()` 方法将 `bits` 对象转换为一个十进制整数并输出。