c++怎么将十进制转化为二进制
时间: 2024-12-18 09:18:17 浏览: 20
在C++中,你可以使用内置的库函数`std::bitset`或者直接通过位运算符来进行十进制数到二进制数的转换。以下是两种方法:
1. 使用`std::bitset`:
```cpp
#include <bitset>
#include <iostream>
int decimalToBinary(int decimal) {
std::bitset<8> binary(decimal); // 如果decimal小于256可以指定更小的宽度,如32、64等
return binary.to_string();
}
int main() {
int decimal = 10;
std::cout << "Decimal " << decimal << " in binary is " << decimalToBinary(decimal) << std::endl;
return 0;
}
```
2. 直接位运算是位操作的一种,但需要手动处理每一位:
```cpp
#include <iostream>
std::string decimalToBinary(int decimal) {
std::string binary = "";
while (decimal > 0) {
binary = std::to_string(decimal % 2) + binary; // 取余数并添加到前面
decimal /= 2; // 除以2,右移一位
}
return binary;
}
int main() {
int decimal = 10;
std::cout << "Decimal " << decimal << " in binary is " << decimalToBinary(decimal) << std::endl;
return 0;
}
```
阅读全文