c语言十进制转二进制代码简单的方法
时间: 2024-10-17 22:12:58 浏览: 55
C语言十进制转二进制代码实例
5星 · 资源好评率100%
在C语言中,将十进制数转换为二进制可以使用循环和位操作。以下是通过位运算实现的一个简单方法:
```c
#include <stdio.h>
#include <string.h>
// Function to convert decimal to binary using bitwise operations
void dec_to_bin(int num) {
char binary[40]; // Assuming the maximum length is 32 bits (32 digits)
int i = 0;
while(num > 0) {
binary[i] = num % 2 + '0'; // Convert to ASCII for string representation
num = num / 2; // Shift bits to left
i++;
}
// Add leading zeros if necessary
if(binary[0] == '0')
binary++;
// Reverse the binary string since it's stored in reverse order
倒序(binary);
printf("The binary equivalent of %d is %s\n", num, binary);
}
// Function to reverse a string in place
void倒序(char *str) {
int len = strlen(str);
for(int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main() {
int decimal_num;
printf("Enter a decimal number: ");
scanf("%d", &decimal_num);
dec_to_bin(decimal_num);
return 0;
}
```
在这个程序中,`dec_to_bin`函数通过不断地除以2取余,将十进制数转换成二进制,然后存储到字符串中。最后,我们还需要一个辅助函数`倒序`来反转字符串,因为二进制数是从低位到高位存储的。
阅读全文