将一个数十进制转为二进制,并保存在数组中,c语言写
时间: 2024-12-20 19:15:34 浏览: 16
在C语言中,你可以使用`itoa`函数将十进制整数转换为字符串,然后再手动分割成字符数组并将其视为二进制数组。以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 自定义的itoa函数
char* decToBinary(int num) {
static char binaryNum[64];
int i = 0;
while (num > 0) {
binaryNum[i++] = num % 2 + '0';
num /= 2;
}
// 反转数组,因为`itoa`从右向左存储
for (int j = 0; j < i / 2; ++j) {
char temp = binaryNum[j];
binaryNum[j] = binaryNum[i - 1] = temp;
}
binaryNum[i] = '\0'; // 添加终止符
return binaryNum;
}
int main() {
int decimal = 42;
char binary[64]; // 稍微大一些的数组用于存放,防止溢出
strcpy(binary, decToBinary(decimal)); // 转换并复制到新数组
// 输出并显示二进制数组
printf("Decimal: %d\n", decimal);
printf("Binary: %s\n", binary);
// 数组中的元素实际上是二进制数
阅读全文