c语言2进制转换10进制的程序
时间: 2024-09-19 17:05:13 浏览: 61
在C语言中,将二进制数转换为十进制数可以使用循环结构遍历每一位,并通过计算权重相加的方式来实现。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h> // 引入字符串库处理二进制字符串
// 函数定义,用于将二进制数转换成十进制
int binaryToDecimal(char* binary) {
int decimal = 0;
int len = strlen(binary);
int base = 1; // 二进制每位的权值
for (int i = len - 1; i >= 0; i--) { // 从右向左遍历
if (binary[i] == '1') { // 如果当前位是1,则加上对应的权值
decimal += base;
}
base *= 2; // 权值递增
}
return decimal;
}
int main() {
char binaryNum[] = "1010"; // 示例的二进制数
int decimalNum = binaryToDecimal(binaryNum);
printf("二进制 %s 转换为十进制是: %d\n", binaryNum, decimalNum);
return 0;
}
```
在这个程序中,我们首先定义了一个`binaryToDecimal`函数,它接受一个表示二进制的字符数组作为输入。然后,从最右边开始,逐位检查数字是否为'1',如果是,就将其乘以当前位的权重(初始为1),并累加到结果`decimal`上,同时更新权重。最后返回`decimal`作为最终的十进制值。
运行这个程序,会得到如"二进制 1010 转换为十进制是: 10"这样的输出。
阅读全文