用C语言编写函数,将一个整数转换为二进制表示的字符串。例如,若输入131,则转换后的字符串为"10000011"。编写main函数调用fun函数。
时间: 2024-12-27 17:31:11 浏览: 9
在C语言中,你可以使用标准库函数`itoa()`或者自定义一个函数来实现整数转二进制字符串的功能。由于`itoa()`函数在一些旧版系统上可能不可用,这里我们提供一个自定义的`int_to_binary`函数。以下是代码示例:
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h> // 对于atoi()
// 自定义函数将整数转换为二进制字符串
char* int_to_binary(int num) {
char binary[33]; // 存储二进制字符串,最大32位加一位终止符'\0'
int i = 0;
// 从最高位开始,将每一位转换为字符并添加到字符串
while (num > 0) {
binary[i++] = (num % 2) + '0'; // 二进制数取余后加'0'转为字符
num /= 2; // 整除2,移向下一位
}
// 将二进制字符串反转,因为'itoa()'函数从低位到高位存储
for (i = 0; i < strlen(binary) / 2; i++) {
char temp = binary[i];
binary[i] = binary[strlen(binary) - 1 - i];
binary[strlen(binary) - 1 - i] = temp;
}
binary[i] = '\0'; // 添加终止符
return binary;
}
// 测试主函数
int main() {
int input = 131;
char *binary_str = int_to_binary(input);
if (binary_str != NULL) {
printf("The binary representation of %d is: %s\n", input, binary_str);
free(binary_str); // 释放内存
} else {
printf("Failed to convert number to binary string.\n");
}
return 0;
}
```
这个程序会将整数131转换为二进制字符串"10000011"。注意在结束时记得释放动态分配的内存。
阅读全文