C语言十进制转换为二进制的代码
时间: 2024-12-14 09:22:41 浏览: 15
C语言十进制转二进制代码实例
5星 · 资源好评率100%
在C语言中,你可以使用标准库函数`itoa()`或者手动实现转换算法来将十进制整数转换成二进制字符串。由于`itoa()`不是所有系统都默认支持,这里我提供一种手动实现的方式:
```c
#include <stdio.h>
#include <stdlib.h>
// 自己实现的itoa函数,返回二进制字符串
char* dec_to_bin(int num) {
char binary[50]; // 用于存储二进制结果,假设最多32位
int i = 0;
while (num > 0) {
binary[i++] = num % 2 + '0'; // 除以2取余并转为字符
num /= 2;
}
if (binary[i - 1] == '0') { // 如果最前面是0,添加前导零
binary[i] = '\0';
memmove(binary, binary + 1, sizeof(binary) - 1);
}
return binary; // 返回指向二进制字符串的指针
}
int main() {
int decimal_num = 42; // 想要转换的十进制数
char *binary_num = dec_to_bin(decimal_num);
printf("十进制 %d 转换为二进制是 %s\n", decimal_num, binary_num);
free(binary_num); // 释放内存
return 0;
}
```
运行这段代码,它会打印出 "十进制 42 转换为二进制是 101010"。
阅读全文