利用一维数组进行二维转换。将十进制转换为二进制。C语言代码
时间: 2024-12-04 17:29:34 浏览: 11
在C语言中,你可以利用一维数组来模拟二维数组,因为C语言本身不直接支持二维数组作为数组名传递给函数。如果你想将十进制数转换成二进制字符串存储在一维数组中,可以按照以下步骤编写代码:
```c
#include <stdio.h>
#include <string.h>
// 函数用于将十进制转为二进制并存入一维数组
void dec_to_bin(int decimal, char binary[33]) {
int index = 0;
while (decimal > 0) {
binary[index++] = decimal % 2 + '0'; // 将余数转换为字符并添加到数组
decimal /= 2; // 更新十进制数值
}
binary[index] = '\0'; // 添加空字符终止字符串
// 如果数组开头有0,则向前移一位,去掉多余的前导零
for (int i = 0; i < index && binary[i] == '0'; i++) {
memmove(binary + i + 1, binary + i, index - i);
}
}
int main() {
int decimal_num = 42;
char binary_array[33]; // 32是为了保证最大长度(二进制最多31位加一个结束符)
dec_to_bin(decimal_num, binary_array);
printf("Decimal %d in binary is: %s\n", decimal_num, binary_array);
return 0;
}
```
在这个代码中,`dec_to_bin`函数将十进制数转换为二进制字符串,并存储在一个字符型的一维数组`binary`中。`main`函数中有一个示例,将42转换为其二进制表示。
阅读全文