16进制转2进制C++代码
时间: 2023-08-06 08:03:31 浏览: 102
以下是一个将 16 进制转换为 2 进制的 C++ 代码示例:
```cpp
#include <iostream>
#include <string>
using namespace std;
string hexToBin(string hex) {
string bin = "";
int len = hex.length();
for (int i = 0; i < len; i++) {
char c = hex.at(i);
int num = 0;
if (c >= '0' && c <= '9') {
num = c - '0';
} else if (c >= 'a' && c <= 'f') {
num = c - 'a' + 10;
} else if (c >= 'A' && c <= 'F') {
num = c - 'A' + 10;
}
for (int j = 0; j < 4; j++) {
if (num % 2 == 0) {
bin = "0" + bin;
} else {
bin = "1" + bin;
}
num /= 2;
}
}
return bin;
}
int main() {
string hex = "1A";
string bin = hexToBin(hex);
cout << hex << " in binary is: " << bin << endl;
return 0;
}
```
这个示例代码中,也先定义了一个 `hexToBin` 函数,用于将 16 进制字符串转换为 2 进制字符串。在函数中,首先定义了一个 `bin` 变量,用于保存最终转换后的 2 进制字符串。然后使用一个循环,遍历 16 进制字符串中的每一位字符。对于每个字符,根据其大小写和数字范围,将其转换为对应的数值。然后使用一个内部循环,将数值转换为 4 位的二进制字符串,并将其拼接到 `bin` 变量的前面。最终,函数返回 `bin` 变量。
在 `main` 函数中,定义了一个 `hex` 变量,用于保存要转换的 16 进制字符串。然后调用 `hexToBin` 函数将其转换为 2 进制字符串,并输出结果。
阅读全文