c语言写二进制转十进制
时间: 2025-01-01 19:40:32 浏览: 15
在C语言中,将二进制数转换成十进制可以采用迭代或递归的方式。这里提供一种简单的迭代方法,使用`strtol()`函数,但这需要包含`stdlib.h`库:
```c
#include <stdio.h>
#include <stdlib.h>
// Function to convert binary to decimal using strtol()
int binaryToDecimal(char* binary) {
int decimal = 0;
int base = 1; // 二进制对应的基数
for(int i = strlen(binary) - 1; i >= 0; i--) { // 从右到左遍历字符串
if(binary[i] == '1') { // 如果当前位是1
decimal += base; // 加入该位的值
}
base *= 2; // 基数翻倍,准备处理下一位
}
return decimal;
}
int main() {
char binary[100]; // 存储输入的二进制数
printf("请输入二进制数: ");
scanf("%s", binary);
int decimal_num = binaryToDecimal(binary);
printf("二进制 %s 转换为十进制是: %d\n", binary, decimal_num);
return 0;
}
```
阅读全文