c语言二进制转十进制的函数
时间: 2024-10-03 18:01:07 浏览: 35
在C语言中,没有内置的函数可以直接从二进制字符串或二进制位数组转换为十进制整数。不过,你可以使用循环结构结合位操作来逐位计算二进制数的值。下面是一个简单的函数示例,它接受一个指向二进制字符串的指针作为输入,然后返回相应的十进制整数值:
```c
#include <stdio.h>
#include <string.h>
// 二进制转十进制的函数
int binaryToDecimal(const char *binaryStr) {
int decimal = 0;
int base = 1;
int len = strlen(binaryStr);
for (int i = len - 1; i >= 0; i--) {
if (binaryStr[i] == '1') {
decimal += base;
}
base *= 2;
}
return decimal;
}
int main() {
char binaryStr[] = "1010"; // 示例二进制字符串
int decimalValue = binaryToDecimal(binaryStr);
printf("The decimal equivalent of %s is %d\n", binaryStr, decimalValue);
return 0;
}
```
在这个 `binaryToDecimal` 函数里,我们从字符串末尾开始遍历,每次将二进制位('1' 或 '0')对应的值加到 `decimal` 上,并将基数翻倍。
阅读全文