c语言编写十进制转二进制函数
时间: 2025-01-05 18:43:29 浏览: 10
在C语言中,我们可以编写一个函数将十进制整数转换为二进制字符串。这里是一个简单的示例,使用位运算符和数组来实现:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
void decToBinary(int num, char binary[32]);
int main() {
int decimal = 42; // 要转换的十进制数
char binary[32]; // 存储二进制结果
decToBinary(decimal, binary);
printf("十进制 %d 的二进制表示是 %s\n", decimal, binary);
return 0;
}
// 十进制转二进制函数
void decToBinary(int num, char binary[32]) {
if (num == 0) {
binary[0] = '0';
binary[1] = '\0'; // 结束字符串
return;
}
int i = 0;
while (num > 0) {
binary[i++] = num & 1 + '0'; // 取最低位并添加'0'前缀(防止0被忽略)
num >>= 1; // 右移一位,相当于除以2取余
}
binary[i] = '\0'; // 确保字符串结束
}
```
这个`decToBinary`函数的工作原理是不断地对输入数字进行位操作(& 运算),获取最低位,然后右移(>>)去除最低位,直到数字变为0。最后,将每一位的结果转换成字符添加到`binary`数组中,并确保以空字符'\0'结尾。
阅读全文