c语言中int p[5]={12,4,5,13,5};转换为4位二进制数组怎么写
时间: 2024-09-14 07:04:49 浏览: 30
在C语言中,将整数数组转换成四位二进制数组,你可以遍历数组,然后对每个元素进行逐个转换。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义一个函数将整数转换为四位二进制字符串
char* int_to_4bit_binary(int num) {
char binary[5] = {'\0'};
for (int i = 3; i >= 0; i--) {
binary[i] = '0' + ((num >> i) & 1);
}
return binary;
}
int main() {
int p[] = {12, 4, 5, 13, 5};
int array_size = sizeof(p) / sizeof(p[0]);
// 创建一个新的数组来存储四位二进制结果
char** binary_array = malloc(array_size * sizeof(char*));
for (int i = 0; i < array_size; i++) {
binary_array[i] = int_to_4bit_binary(p[i]);
}
printf("四位二进制数组:\n");
for (int j = 0; j < array_size; j++) {
printf("p[%d]: ", j);
for (int k = 0; k < 4; k++) {
printf("%d", binary_array[j][k]);
}
printf("\n");
}
// 释放动态分配的空间
for (int j = 0; j < array_size; j++) {
free(binary_array[j]);
}
free(binary_array);
return 0;
}
```
这个程序首先定义了一个`int_to_4bit_binary`函数用于转换单个整数到四位二进制,然后在主函数中遍历数组,并将每个元素转换为字符串形式。
注意,由于数组长度为5,但是`int`类型的四位二进制通常需要5个字符,所以这里的数组大小只包含4个二进制位,最后一个值可能会超出四位显示。如果需要完整显示每一位,可以适当调整数组大小。
阅读全文