利用c语言将输入的2进制字符串转换为10进制输出
时间: 2024-01-15 18:04:51 浏览: 126
下面是一个简单的 C 语言程序,可以将输入的二进制字符串转换为十进制数并输出。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main()
{
char binary[32];
int decimal = 0, power = 0;
printf("Enter a binary number: ");
scanf("%s", binary);
for (int i = strlen(binary) - 1; i >= 0; i--)
{
if (binary[i] == '1')
{
decimal += pow(2, power);
}
power++;
}
printf("Decimal equivalent: %d\n", decimal);
return 0;
}
```
首先,我们使用 `scanf()` 函数从用户那里获取一个二进制字符串。该字符串存储在 `char` 类型的数组 `binary` 中。
然后,我们使用一个循环遍历字符串中的每个字符,从右到左。如果字符是 '1',则将 2 的幂值加到十进制数上。
最后,我们使用 `printf()` 函数将十进制数输出到屏幕上。
需要注意的是,该程序假定输入的二进制字符串不超过 31 位。如果您需要处理更长的字符串,您可能需要使用更大的数组来存储它们。
阅读全文