将十进制转化为二进制C++
时间: 2024-10-30 10:06:33 浏览: 31
在C++中,将十进制整数转换为二进制可以使用内置的`bitset`库或者手动通过循环除以2并取余的方式来实现。以下是两种方法的简要介绍:
**方法一:使用`bitset`**
```cpp
#include <bitset>
int decimalToBinary(int num) {
std::bitset<8> binary(num); // 假设我们想要8位二进制,可根据需要调整长度
return binary.to_string();
}
// 示例
int main() {
int decimal = 42;
std::string binary_str = decimalToBinary(decimal);
std::cout << "Decimal " << decimal << " in binary is: " << binary_str << std::endl;
return 0;
}
```
**方法二:手动实现**
```cpp
#include <iostream>
#include <vector>
std::vector<int> decimalToBinary(int num) {
std::vector<int> binary(1, 0); // 初始化二进制数组
while (num > 0) {
binary.push_back(num % 2);
num /= 2; // 取余然后整除
}
// 从后往前填充数组,因为最低有效位在最前面
for (int i = 0, j = binary.size() - 1; i < j; ++i, --j) {
std::swap(binary[i], binary[j]);
}
return binary;
}
int main() {
int decimal = 42;
std::vector<int> binary = decimalToBinary(decimal);
for (int bit : binary) {
std::cout << bit;
}
std::cout << "\n";
return 0;
}
```
在这两种方法中,用户可以根据需要选择适合的方法。
阅读全文