c语言将二进制数转换为十进制数
时间: 2024-12-14 11:25:58 浏览: 8
c代码-C语言十进制到二进制的转换
在C语言中,将二进制数转换成十进制数通常通过迭代或递归的方式实现,因为二进制是以2为基数的系统,所以从右向左每一位的值都是2的幂次减去1。这里是一个简单的迭代方法:
```c
#include <stdio.h>
#include <math.h>
// 将二进制字符串转换为十进制整数
int binaryToDecimal(char* binary) {
int decimal = 0;
int power = 0;
for(int i = strlen(binary) - 1; i >= 0; i--) {
if(binary[i] == '1') {
decimal += pow(2, power);
}
power++;
}
return decimal;
}
int main() {
char binaryNum[] = "1010"; // 例如这个二进制字符串
int decimalNum = binaryToDecimal(binaryNum);
printf("Binary %s is equal to decimal %d\n", binaryNum, decimalNum);
return 0;
}
```
在这个示例中,`binaryToDecimal`函数遍历输入的二进制字符串,每遇到一个'1'就将其对应的2的幂加到结果上,`power`表示当前位置的位权。
阅读全文