c语言如何十进制转变二进制
时间: 2024-10-06 13:00:46 浏览: 54
在C语言中,将十进制整数转换为二进制字符串,你可以使用循环和位运算的方式实现。这里有一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// Function to convert decimal to binary
void decToBinary(int num, char* binaryStr) {
if (num == 0) {
*binaryStr = '\0'; // End of string
return;
}
*binaryStr = num % 2 + '0'; // Convert remainder to character and append
binaryStr++; // Move to next position
decToBinary(num / 2, binaryStr); // Recursively call the function with quotient
}
int main() {
int decimalNum = 42; // Example input
char binaryStr[50]; // Assume a large enough buffer for binary representation
decToBinary(decimalNum, binaryStr); // Start conversion
printf("Decimal %d in binary is: %s\n", decimalNum, binaryStr);
return 0;
}
```
在这个示例中,`decToBinary`函数是一个递归函数,它不断除以2并获取余数,直到商为0。每次迭代都将余数添加到`binaryStr`数组中,最后加上'\0'结束字符串。注意,输入数字的范围要合适,避免溢出,并预留足够的空间存储二进制数。
运行这个程序,你会看到42的二进制表示。
阅读全文