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

c语言怎么实现二进制转十进制

2025-05-09 02:42:00
星海幻梦
星海幻梦已认证

星海幻梦为您分享以下优质知识

在C语言中,将二进制转换为十进制的方法主要有以下两种:

一、使用字符串处理(推荐方法)

通过逐位遍历二进制字符串,将字符转换为数字并计算十进制值。适用于输入为二进制字符串的情况。

示例代码:

```c

include

include

int binaryToDecimal(char *binary) {

int decimal = 0;

int length = strlen(binary);

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

int bit = binary[i] - '0'; // 将字符转换为数字

decimal = decimal * 2 + bit; // 计算十进制值

}

return decimal;

}

int main() {

char binary;

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

scanf("%s", binary);

int decimal = binaryToDecimal(binary);

printf("对应的十进制数为: %dn", decimal);

return 0;

}

```

说明:

1. 使用`scanf`读取二进制字符串(需确保输入仅包含0和1)。

2. 通过`strlen`获取字符串长度,逐位计算十进制值。

3. 返回计算结果。

二、使用位运算(适用于整数输入)

通过位运算符(如`&`、`>

>

`)直接处理整数二进制数,效率较高。

示例代码:

```c

include

int binaryToDecimal(int n) {

int decimal = 0;

while (n >

0) {

int remainder = n % 10; // 获取最低位

decimal += remainder * (1