帮我写一个2进制转换10进制的c语言
时间: 2024-09-21 21:11:03 浏览: 44
当然可以,这是一个简单的C语言函数,用于将给定的二进制字符串转换成十进制整数:
```c
#include <stdio.h>
#include <string.h>
// 函数声明,接收二进制字符串并返回对应的十进制值
int binaryToDecimal(char* binary);
// 实现部分
int binaryToDecimal(char* binary) {
int decimal = 0;
int length = strlen(binary);
int base = 1;
for (int i = length - 1; i >= 0; i--) {
if (binary[i] == '1') {
decimal += base;
}
base *= 2;
}
return decimal;
}
int main() {
char binary[] = "1010";
int decimalValue = binaryToDecimal(binary);
printf("Binary %s is equal to decimal %d\n", binary, decimalValue);
return 0;
}
```
在这个例子中,`binaryToDecimal`函数逐位处理输入的二进制字符串,从右到左,每次乘以2的相应次幂(base),如果当前位是1,则累加到decimal上。最后返回得到的十进制数值。
如果你想让用户输入二进制字符串,可以在main函数中添加用户输入的部分。
阅读全文