二进制转化为十进制c++语言
时间: 2024-09-11 21:07:00 浏览: 67
二进制转化为十进制的C++代码如下:
```
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int binary, decimal = 0, base = 1;
cout << "请输入一个二进制数:";
cin >> binary;
while (binary > 0) {
int digit = binary % 10;
decimal += digit * base;
base *= 2;
binary /= 10;
}
cout << "转换后的十进制数为:" << decimal << endl;
return 0;
}
```
该代码首先要求用户输入一个二进制数,然后通过循环将其转换为十进制数。在循环中,我们首先取出二进制数的最后一位,然后将其乘以对应的权重(2的幂次方),并将结果加到十进制数中。接着,我们将权重乘以2,以便在下一次循环中使用。最后,我们将二进制数除以10,以便在下一次循环中取出下一位。循环将一直执行,直到二进制数变为0为止。
相关问题
写一个二进制转化为十进制的C++程序
下面是一个将二进制数转换为十进制数的C++程序:
```c++
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int binary, decimal = 0, i = 0;
cout << "请输入一个二进制数:";
cin >> binary;
while (binary != 0) {
decimal += (binary % 10) * pow(2, i);
++i;
binary /= 10;
}
cout << "转换为十进制数为:" << decimal << endl;
return 0;
}
```
该程序首先要求用户输入一个二进制数,然后使用循环将其转换为十进制数。在循环中,程序从最低位开始,将每个二进制位乘以2的幂次方,然后将这些结果相加,最终得到十进制数。程序使用 pow 函数计算幂次方。
二进制转化为十进制C++
可以使用以下代码将二进制转换为十进制:
```c
#include <stdio.h>
#include <math.h>
int main() {
int binary, decimal = 0, i = 0, remainder;
printf("Enter a binary number: ");
scanf("%d", &binary);
while (binary != 0) {
remainder = binary % 10;
binary /= 10;
decimal += remainder * pow(2, i);
i++;
}
printf("Decimal number is: %d", decimal);
return 0;
}
```
首先,我们输入一个二进制数,并使用 while 循环将其转换为十进制数。在循环中,我们将二进制数从右向左逐个取出每一位,并将其乘以对应的权重,然后将其相加得到十进制数。最后,我们输出十进制数。
阅读全文