C++二进制转换为十六进制
时间: 2023-09-02 22:09:35 浏览: 127
将一个 C++ 二进制数(以字符串形式表示)转换为十六进制数,可以使用以下方法:
1. 将二进制数分成 4 位一组,不足 4 位的在左边填充 0。
2. 将每组二进制数转换为对应的十六进制数。
3. 将每个十六进制数连接起来,得到最终结果。
以下是一个示例代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string binary = "101011001010101101110011";
string hex = "";
string hexChars = "0123456789ABCDEF";
// 将二进制数分组并转换为十六进制数
for (int i = 0; i < binary.length(); i += 4) {
string group = binary.substr(i, 4);
int value = stoi(group, nullptr, 2);
char hexChar = hexChars[value];
hex += hexChar;
}
cout << "Binary: " << binary << endl;
cout << "Hex: " << hex << endl;
return 0;
}
```
输出:
```
Binary: 101011001010101101110011
Hex: AB5B9
```
阅读全文