首页  > 教育解读  > c语言数字怎么转换成二进制

c语言数字怎么转换成二进制

2025-05-09 22:46:27
郭老师
郭老师已认证

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

在C语言中,将数字转换为二进制可以通过以下方法实现,具体分为十进制转二进制和二进制输入转十进制两种情况:

一、十进制转二进制

位操作法

使用循环和位操作符(如右移 `>

>

`、取余 `%`)逐位提取二进制位,从低位到高位存储并输出。 ```c

include

void printBinary(int num) {

int bit;

while (num >

0) {

bit = num % 2;

printf("%d", bit);

num = num / 2;

}

printf("");

}

int main() {

int num = 10;

printf("二进制表示为: ");

printBinary(num);

return 0;

}

```

除2取余法

通过不断除以2并记录余数,最后将余数逆序输出。 ```c

include

int main() {

int n, i;

printf("请输入一个十进制整数: ");

scanf("%d", &n);

int a = {0};

for (i = 0; n >

0; i++) {

a[i] = n % 2;

n = n / 2;

}

printf("十进制整数转换为二进制数是: ");

for (i = 31; i >

= 0; i--) {

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

}

return 0;

}

```

二、二进制输入转十进制

字符数组解析

读取二进制字符串,逐位转换为十进制并累加。 ```c

include

int main() {

char str;

printf("请输入32位二进制数: ");

scanf("%s", str);

int n = 0;

for (int i = 0; i < 8; i++) {

if (str[i] == '1') n += 1