C语言用一维数组写十进制转换二进制
时间: 2024-09-11 19:01:34 浏览: 161
在C语言中,将十进制数转换为二进制可以采用位操作的方式逐步完成。这里是一个简单的例子,假设我们有一个名为`decimalNumber`的一维整型数组来存储二进制结果:
```c
#include <stdio.h>
// 函数声明
void decimalToBinary(int decimal, int binary[32]);
int main() {
int decimal = 42; // 需要转换的十进制数
int binary[32]; // 用于存储二进制数,假设每个数字最多32位
decimalToBinary(decimal, binary);
printf("十进制数 %d 的二进制表示为: ", decimal);
for (int i = 0; i < sizeof(binary) / sizeof(binary[0]); i++) {
if (binary[i] != 0)
printf("%d", binary[i]);
}
printf("\n");
return 0;
}
// 十进制转二进制函数
void decimalToBinary(int decimal, int binary[]) {
while (decimal > 0) {
binary[sizeof(binary) - 1] = decimal % 2; // 最低位存入余数
decimal /= 2; // 取除2得到新的十进制数
}
}
```
在这个示例里,`decimalToBinary`函数通过循环和取模运算逐次将十进制数的每一位转换成二进制,并存储在`binary`数组的最低有效位(MSB)。最后在主函数中打印出整个二进制数。
阅读全文