数据结构考题 十进制转换为二进制c++
时间: 2024-10-31 14:08:11 浏览: 23
十三届蓝桥杯青少年组C++省赛真题
数据结构考题中,关于十进制数转换为二进制数的C++实现,通常会涉及到整型数据类型的转换。你可以使用内置的库函数`bitset`或者手动通过除2取余法(也叫“除二留余”法)来完成这个任务。以下是两种常见的方法:
**使用`bitset`:**
```cpp
#include <bitset>
#include <string>
std::string decimalToBinary(int decimal) {
std::bitset<32> binary(decimal); // 假设输入不超过32位
return binary.to_string();
}
```
**手动实现除2取余法:**
```cpp
#include <iostream>
#include <vector>
std::string decimalToBinary(int decimal) {
std::vector<int> binary;
while (decimal > 0) {
binary.push_back(decimal % 2);
decimal /= 2;
}
std::reverse(binary.begin(), binary.end());
std::string result;
for (int bit : binary)
result += std::to_string(bit);
return result;
}
```
在上述代码中,第一个版本使用了`bitset`,而第二个版本则手动创建了一个二进制数组。运行`decimalToBinary(10)`这样的例子,你会得到输出"1010"。
阅读全文