C语言将整数变为二进制输出
时间: 2024-09-27 17:11:15 浏览: 60
在C语言中,将整数转换为二进制并输出可以使用库函数`itoa()`或者通过位操作结合`printf()`函数来实现。以下是两种方法:
1. 使用`itoa()`函数 (从<math.h>开始)
```c
#include <stdio.h>
#include <stdlib.h>
void print_binary(int num) {
char binary[64];
itoa(num, binary, 2); // 2表示基数为2(二进制)
printf("Binary representation of %d is %s\n", num, binary);
}
int main() {
int number = 10;
print_binary(number);
return 0;
}
```
2. 自己实现转换,使用位运算
```c
#include <stdio.h>
void bin_to_string(int num, char* str, int base) {
if (num == 0) {
*str++ = '0';
} else {
while (num > 0) {
*str++ = '0' + (num % base);
num /= base;
}
}
*str = '\0'; // 结束字符串
for (int i = strlen(str) - 1; i >= 0; i--) {
printf("%c", str[i]);
}
}
int main() {
int number = 15;
char binary[8];
bin_to_string(number, binary, 2);
printf("Binary representation of %d is %s\n", number, binary);
return 0;
}
```
以上两个例子都是将十进制整数转换成二进制形式并打印。
阅读全文