将二进制数转换成十进制数的c语言函数
时间: 2024-10-29 19:18:34 浏览: 47
在C语言中,将二进制数转换为十进制数可以使用位运算符或者手动计算每一位的值然后相加。这里介绍一种常见的方法,即通过遍历二进制数的每一位并乘以权重的方式来实现:
```c
#include <stdio.h>
// 函数声明
int binaryToDecimal(long long int binaryNum);
// 主函数
int main() {
long long int binary = 1010; // 例如,这个二进制数是1010
int decimal = binaryToDecimal(binary);
printf("二进制 %lld 转换成十进制是 %d\n", binary, decimal);
return 0;
}
// 实现将二进制转十进制的函数
int binaryToDecimal(long long int binaryNum) {
int decimal = 0;
int base = 1;
while (binaryNum != 0) {
int remainder = binaryNum % 10; // 取余得到当前位的数值
decimal += remainder * base; // 累加到总和
binaryNum /= 10; // 移除最低位
base *= 2; // 下一位的权重翻倍
}
return decimal;
}
```
在这个`binaryToDecimal`函数中,我们从二进制数的最低位开始处理,每次取出一位(通过取模运算),然后将其乘以2的相应次方(也就是权重),累加到结果中。
阅读全文