首页  > 教育解读  > 十进制怎么转二进制c语言函数

十进制怎么转二进制c语言函数

2025-05-09 02:32:48
指导师老郭
指导师老郭已认证

指导师老郭为您分享以下优质知识

在C语言中,十进制转二进制主要有以下三种方法,均基于“除2取余,逆序排列”的核心思想:

一、使用位操作符和循环结构

通过位运算符逐位提取二进制位,并使用循环输出。

```c

include

void printBinary(int num) {

int bit;

while (num >

0) {

bit = num % 2;

printf("%d", bit);

num = num / 2;

}

printf("n");

}

int main() {

int num = 10;

printf("The binary representation of %d is: ", num);

printBinary(num);

return 0;

}

```

二、使用递归函数

通过递归调用将余数逆序输出。

```c

include

void printBinaryRecursive(int num) {

if (num >

0) {

printBinaryRecursive(num / 2);

printf("%d", num % 2);

}

}

int main() {

int num = 10;

printf("The binary representation of %d is: ", num);

printBinaryRecursive(num);

return 0;

}

```

三、使用数组存储余数并逆序输出

通过循环将余数存入数组,最后倒序输出。

```c

include

void printBinaryArray(int num) {

int a = {0}, len = 0;

while (num >

0) {

a[len++] = num % 2;

num = num / 2;

}

for (int i = len - 1; i >

= 0; i--) {

printf("%d", a[i]);

}

printf("n");

}

int main() {

int num = 10;

printf("The binary representation of %d is: ", num);

printBinaryArray(num);

return 0;

}

```

补充说明

输入范围:上述示例中,数组大小固定为16,适用于0-32767之间的十进制数。若需处理更大数值,可动态分配内存或使用位运算优化。

输出格式:部分代码在每4位后添加空格,便于阅读(如二进制数11011显示为`1010`)。

以上方法均可实现十进制到二进制的转换,选择时可根据具体需求(如代码简洁性、可读性、效率)进行权衡。