c 语言二进制转十进制
时间: 2023-08-08 10:05:01 浏览: 61
在 C 语言中,可以使用 `atoi()` 函数将二进制字符串转换为整型数,然后再将整型数转换为十进制数。具体实现如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int binaryToDecimal(char *binary) {
int decimal = 0;
int length = strlen(binary);
for (int i = 0; i < length; i++) {
if (binary[i] == '1') {
decimal += 1 << (length - 1 - i);
}
}
return decimal;
}
int main() {
char binary[32];
printf("请输入一个二进制数:");
scanf("%s", binary);
int decimal = binaryToDecimal(binary);
printf("转换后的十进制数为:%d\n", decimal);
return 0;
}
```
上述代码中,`binaryToDecimal()` 函数接受一个二进制字符串作为参数,遍历字符串中的每一位,如果是 '1' 则将十进制数加上该位所代表的值。最后返回转换后的十进制数。
在 `main()` 函数中,首先让用户输入一个二进制数,然后调用 `binaryToDecimal()` 函数将其转换为十进制数,并将结果输出。