C++10进制转2进制
时间: 2024-09-20 10:17:33 浏览: 23
在C++中将十进制数转换为二进制数,可以使用内置的`bitset`库或者手动进行位运算。以下是两种方法:
1. 使用`bitset`库:
```cpp
#include <bitset>
int decimalToBinary(int decimal) {
std::bitset<8> binary(decimal); // 8位宽度,可根据需要调整
return binary.to_string();
}
int main() {
int dec = 42;
std::cout << "Binary representation of " << dec << ": " << decimalToBinary(dec) << std::endl;
return 0;
}
```
在这个例子中,`decimalToBinary`函数接受一个整数,将其转换为`bitset`并返回其字符串表示形式。
2. 手动位运算:
```cpp
#include <iostream>
int decimalToBinary(int decimal) {
int binary[32]; // 如果数字超过32位,需适当增加数组大小
int i = 0;
while (decimal > 0) {
binary[i++] = decimal % 2;
decimal /= 2;
}
for (int j = i - 1; j >= 0; j--) {
std::cout << binary[j];
}
return 0;
}
int main() {
int dec = 42;
std::cout << "Binary representation of " << dec << ": ";
decimalToBinary(dec);
return 0;
}
```
这里通过不断对十进制数取余数,然后除以2,得到二进制的每一位。