十进制转换成二进制的函数用c语言
时间: 2024-12-08 16:15:15 浏览: 54
在 C 语言中,将十进制数转换为二进制数可以使用递归或者迭代的方式。这里提供一个简单的迭代方法,使用位运算符 `&` 和左移运算符 `<<` 来完成:
```c
#include <stdio.h>
// 函数声明
void decimalToBinary(int num, int base[], int size);
int main() {
int decimal = 42; // 要转换的十进制数
int binary[32]; // 用于存储二进制结果,最大支持32位
decimalToBinary(decimal, binary, sizeof(binary)); // 调用转换函数
printf("十进制 %d 的二进制表示是:", decimal);
for (int i = 0; i < sizeof(binary); i++) {
if (binary[i] != 0) {
printf("%d", binary[i]);
}
}
return 0;
}
// 递归函数实现
void decimalToBinary(int num, int base[], int size) {
if (num == 0) {
return;
} else {
base[size - 1] = num & 1; // 取最低位的1
decimalToBinary(num >> 1, base, size); // 除以2并继续递归
}
}
```
这个程序首先定义了一个 `decimalToBinary` 函数,它会计算给定十进制数的二进制表示,并将其存入数组 `base` 中。`main` 函数中调用了该函数并将结果打印出来。
阅读全文