如何用c语言将十进制转换成二进制
时间: 2024-10-10 12:06:35 浏览: 42
在C语言中,可以使用标准库函数`itoa()`或者自定义算法将十进制整数转换为二进制字符串。这里我们提供一种简单的非库函数方法,即通过循环和除法运算实现:
```c
#include <stdio.h>
#include <string.h>
void dec_to_bin(int num, char* binary) {
int i = 0;
while (num > 0) {
binary[i] = num % 2 + '0'; // 余数+0变为字符(0-9)
num /= 2; // 将原数字右移一位
i++;
}
binary[i] = '\0'; // 结束字符串,添加空字符
// 反转数组,因为最初是从最低位开始存储的
for (int j = 0; j < strlen(binary) / 2; j++) {
char temp = binary[j];
binary[j] = binary[strlen(binary) - j - 1];
binary[strlen(binary) - j - 1] = temp;
}
}
int main() {
int decimal = 42;
char binary[50]; // 预计最大32位,加1以容纳'\0'
dec_to_bin(decimal, binary);
printf("十进制 %d 转换成二进制是: %s\n", decimal, binary);
return 0;
}
```
阅读全文