16进制数组转2进制数组的代码
时间: 2024-05-16 17:15:58 浏览: 194
以下是将16进制数组转换为2进制数组的Python代码:
```python
hex_array = ['0x3', '0xA', '0xF', '0xC']
binary_array = []
for hex_value in hex_array:
binary_value = bin(int(hex_value, 16))[2:].zfill(8) # 将16进制字符串转换为二进制字符串并填充前导0
binary_array.append(binary_value)
print(binary_array) # 输出['00000011', '00001010', '00001111', '00001100']
```
在上面的代码中,我们使用了Python内置的`bin()`函数将每个16进制字符串转换为二进制字符串,并使用`zfill()`函数在前面填充0以确保每个二进制字符串长度为8位。最后,我们将每个二进制字符串添加到新的2进制数组中。
相关问题
c语言16进制数组转2进制数组的代码
以下是将16进制数组转换为2进制数组的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
void hexToBin(unsigned char *hexArray, int hexLength, unsigned char *binArray) {
int i, j;
for (i = 0; i < hexLength; i++) {
for (j = 0; j < 8; j++) {
binArray[i*8+j] = (hexArray[i] >> (7-j)) & 1;
}
}
}
int main() {
unsigned char hexArray[] = {0x1A, 0xB3, 0x2F};
int hexLength = sizeof(hexArray) / sizeof(hexArray[0]);
int binLength = hexLength * 8;
unsigned char *binArray = malloc(binLength * sizeof(unsigned char));
hexToBin(hexArray, hexLength, binArray);
printf("Hex Array: ");
for (int i = 0; i < hexLength; i++) {
printf("%02X ", hexArray[i]);
}
printf("\n");
printf("Bin Array: ");
for (int i = 0; i < binLength; i++) {
printf("%d", binArray[i]);
}
printf("\n");
free(binArray);
return 0;
}
```
这个程序会将16进制数组 `{0x1A, 0xB3, 0x2F}` 转换为二进制数组 `{00011010, 10110011, 00101111}`。
c语言16进制数组转10进制数组函数
以下是一个将C语言中的16进制数组转换为10进制数组的函数示例:
```c
void hex2dec(int *hexArray, int *decArray, int len) {
int i;
for (i = 0; i < len; i++) {
decArray[i] = (int) strtol(hexArray[i], NULL, 16);
}
}
```
其中,hexArray是输入的16进制数组,decArray是输出的10进制数组,len是数组的长度。函数使用了strtol()函数将16进制字符串转换为10进制整数。
阅读全文