首页  > 教育解读  > 如何用c语言将二进制转换成十进制

如何用c语言将二进制转换成十进制

2025-05-10 05:43:45
何老师
何老师已认证

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

在C语言中,将二进制数转换为十进制数主要有以下两种常见方法,具体实现方式如下:

一、使用 `atoi` 函数(推荐)

这是最简洁的方法,适用于二进制数以字符串形式输入的情况。

```c

include

include

int binaryToDecimal(char *binary) {

int decimal = 0;

for (int i = 0; binary[i] != '0'; 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;

}

```

说明:`atoi` 函数将二进制字符串逐位转换为数字,并按权展开计算十进制值。

二、逐位计算法(手动实现)

适用于需要更高控制力的场景,支持处理任意长度的二进制数。

```c

include

include

int binaryToDecimal(const char *binary) {

int decimal = 0;

int power = 0;

for (int i = strlen(binary) - 1; i >

= 0; i--) {

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

decimal += bit * (1