C语言如何用while不用数组实现十进制转换为二进制
时间: 2024-10-19 12:12:07 浏览: 25
C语言用栈实现十进制转换为二进制的方法示例
5星 · 资源好评率100%
在C语言中,你可以使用while循环结合位操作来将十进制数转换为二进制。这里是一个简单的示例:
```c
#include <stdio.h>
void decimal_to_binary(int num) {
int binary[32]; // 可能需要调整大小,取决于最大输入值
int i = 0;
while (num > 0) {
binary[i] = num % 2; // 取余数得到当前位
num /= 2; // 整除移位
i++;
}
printf("Binary representation: ");
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
}
int main() {
int decimal;
printf("Enter a decimal number: ");
scanf("%d", &decimal);
decimal_to_binary(decimal);
return 0;
}
```
在这个程序中,`decimal_to_binary`函数首先创建一个整型数组来存储二进制每一位。然后通过while循环不断取十进制数的余数(即当前位),并将余数存入数组,直到十进制数变成0。最后,从数组的末尾开始反向打印出二进制表示。
阅读全文