用C语言将二进制转换十进制
时间: 2025-01-30 21:04:26 浏览: 19
在C语言中,你可以使用位运算符和循环结构来将二进制字符串转换为十进制整数。以下是一个简单的示例,展示了如何从一个字符数组(表示二进制)计算其对应的十进制值:
#include <stdio.h>
int binaryToDecimal(char* binary) {
int decimal = 0;
int power = 0; // 用于跟踪当前数字的权重
for (int i = strlen(binary) - 1; i >= 0; i--) {
if (binary[i] == '1') { // 如果是'1'
decimal += pow(2, power); // 加上2的相应次幂
}
power++;
}
return decimal;
}
int main() {
char binary[50]; // 假设我们有一个足够大的数组存储二进制数
printf("Enter a binary number: ");
scanf("%s", binary);
int decimalValue = binaryToDecimal(binary);
printf("The decimal value is: %d\n", decimalValue);
return 0;
}
在这个程序中,binaryToDecimal
函数从二进制字符串的末尾开始处理,每次检查一个字符(如果它是 '1'),就将对应的 2 的幂(pow(2, power)
)加到 decimal
上,然后增加权重 power
。当遍历完整个二进制字符串后,返回的就是对应的十进制值。
如果你有特定的二进制字符串想测试这个函数,可以直接替换 binary
数组中的值,然后运行程序。
相关推荐


















