写一个不用数字将十进制转换二进制的代码C语言
时间: 2023-11-28 12:48:50 浏览: 68
下面是一个将十进制数转换成二进制数的C语言代码,它不使用数字:
```c
#include <stdio.h>
#include <string.h>
void decimal_to_binary(int decimal, char *binary) {
if (decimal == 0) {
strcpy(binary, "0");
return;
}
int i = 0;
while (decimal > 0) {
binary[i++] = decimal % 2 == 0 ? '0' : '1';
decimal /= 2;
}
binary[i] = '\0';
int len = strlen(binary);
for (int j = 0; j < len / 2; j++) {
char temp = binary[j];
binary[j] = binary[len - j - 1];
binary[len - j - 1] = temp;
}
}
int main() {
int decimal = 42;
char binary[32];
decimal_to_binary(decimal, binary);
printf("The binary equivalent of %d is %s\n", decimal, binary);
return 0;
}
```
该代码通过将十进制数不断除以2,并将余数转换为0或1来计算二进制数。最后,将结果反转并保存到字符串中。
阅读全文