用c++将二进制转为十进制
时间: 2024-02-01 16:03:43 浏览: 29
以下是将二进制转为十进制的C代码:
```
#include <stdio.h>
#include <math.h>
int main()
{
long long bin, dec = 0;
int i = 0, rem;
printf("Enter a binary number: ");
scanf("%lld", &bin);
// converting binary to decimal
while (bin != 0)
{
rem = bin % 10;
bin /= 10;
dec += rem * pow(2, i);
++i;
}
printf("Decimal number is: %lld", dec);
return 0;
}
```
代码解释:
1. 首先,我们定义了一个长整型变量`bin`和一个整型变量`dec`,`bin`用于存储输入的二进制数,`dec`用于存储转换后的十进制数。
2. 然后,我们使用`printf()`函数提示用户输入二进制数,并使用`scanf()`函数读取用户输入的二进制数。
3. 接着,我们使用一个`while`循环将二进制数转换为十进制数。在循环中,我们使用`%`运算符获取二进制数的最后一位(即余数),并将其乘以2的i次方,其中i表示当前位数(从0开始)。然后,我们将二进制数除以10,以便在下一次迭代中获取下一位。最后,我们将所有乘积相加,得到十进制数。
4. 最后,我们使用`printf()`函数显示转换后的十进制数,并使用`return 0`语句结束程序。