c语言将十进制整数转换成二进制
时间: 2024-10-16 18:10:14 浏览: 32
在C语言中,将十进制整数转换成二进制可以使用内置函数`itoa()`或者手动通过位操作和循环实现。以下是两种方法:
**使用库函数**:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 数组用于存储二进制结果
char binary[32];
void dec_to_bin(int num) {
int i = 0;
while (num > 0) {
binary[i++] = num % 2 + '0'; // 加上'0'是因为我们要得到字符形式的数字,不是ASCII值
num /= 2;
}
binary[i] = '\0'; // 结束字符串
printf("Binary representation: %s\n", binary);
}
int main() {
int decimal_num = 42;
dec_to_bin(decimal_num);
return 0;
}
```
**手动位操作和循环实现**:
```c
#include <stdio.h>
void dec_to_bin(int num) {
for (int i = 0; ; ++i) {
if (num >= 1) {
binary[i] = num % 2 + '0';
num /= 2;
} else {
binary[i] = '\0';
break;
}
}
printf("Binary representation: %s\n", binary);
}
int main() {
int decimal_num = 42;
dec_to_bin(decimal_num);
return 0;
}
```
这两种方法都能将十进制数转换成二进制字符串。
阅读全文