c++ 二进制转10进制
时间: 2024-01-14 12:00:45 浏览: 48
C语言中,可以通过以下代码将二进制数转换为十进制数:
```c
#include <stdio.h>
#include <math.h>
int binToDec(int num) {
int decimal = 0, i = 0, remainder;
while (num != 0) {
remainder = num % 10; // 求出最后一位二进制数
num = num / 10; // 去掉最后一位二进制数
decimal = decimal + remainder * pow(2, i); // 将二进制数转换为十进制数
i++;
}
return decimal;
}
int main() {
int binaryNum;
printf("请输入一个二进制数:");
scanf("%d", &binaryNum);
printf("转换为十进制数为:%d\n", binToDec(binaryNum));
return 0;
}
```
对于输入的二进制数,程序会进行转换并输出对应的十进制数。
相关问题
c++ 二进制转十进制
在C++中,可以通过使用取模和除法运算符来将二进制数转换为十进制数。以下是一个示例代码:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
int binaryToDecimal(int binary) {
int decimal = 0;
int base = 1;
while (binary > 0) {
int lastDigit = binary % 10;
decimal += lastDigit * base;
binary /= 10;
base *= 2;
}
return decimal;
}
int main() {
int binaryNumber;
cout << "Enter a binary number: ";
cin >> binaryNumber;
int decimalNumber = binaryToDecimal(binaryNumber);
cout << "Decimal equivalent: " << decimalNumber << endl;
return 0;
}
```
这段代码首先定义了一个函数`binaryToDecimal`,它接受一个二进制数作为参数,并返回对应的十进制数。在函数中,我们使用了一个循环来逐位处理二进制数。在每一次循环中,我们通过取模运算符获取二进制数的最后一位数字,并将其乘以对应的权重(2的幂次),然后将结果累加到十进制数中。接着,我们将二进制数除以10,以便处理下一位数字。最后,我们返回得到的十进制数。
在`main`函数中,我们首先要求用户输入一个二进制数,然后调用`binaryToDecimal`函数将其转换为十进制数,并将结果输出到屏幕上。
c++二进制转十进制代码
以下是用C++编写的二进制转十进制的代码示例:
```cpp
#include <iostream>
#include <cmath>
int binaryToDecimal(int binary) {
int decimal = 0;
int power = 0;
while (binary != 0) {
int remainder = binary % 10;
decimal += remainder * pow(2, power);
binary /= 10;
power++;
}
return decimal;
}
int main() {
int binary;
std::cout << "请输入一个二进制数: ";
std::cin >> binary;
int decimal = binaryToDecimal(binary);
std::cout << "转换为十进制数为: " << decimal << std::endl;
return 0;
}
```
这段代码首先提示用户输入一个二进制数,然后使用cin接收输入的二进制数。接着,定义一个函数binaryToDecimal来实现二进制转十进制的逻辑。在函数中,使用while循环,不断取出二进制数的每一位,并将其乘以2的对应次幂后累加到decimal变量中,同时将二进制数除以10并增加power次幂的值。最后,返回转换后的十进制数。
在main函数中,调用binaryToDecimal函数将输入的二进制数转换为十进制数,并输出转换后的结果。