二进制转十进制c++代码
时间: 2024-09-18 07:16:04 浏览: 9
在C++中,将二进制数转换成十进制数可以利用位运算符。下面是一个简单的函数示例,它接受一个字符串表示的二进制数字,并返回其对应的十进制值:
```cpp
#include <string>
int binaryToDecimal(std::string binary) {
int decimal = 0;
for (int i = 0; i < binary.length(); i++) {
if (binary[i] == '1') {
decimal += pow(2, binary.length() - 1 - i);
}
}
return decimal;
}
// 使用示例
int main() {
std::string binaryInput = "1010";
int decimalOutput = binaryToDecimal(binaryInput);
std::cout << "Binary " << binaryInput << " is equal to decimal " << decimalOutput << std::endl;
return 0;
}
```
这个函数通过遍历输入的二进制字符串,从最低位开始逐位计算每个位的十进制值(因为最右边的1相当于2的0次方),然后累加到结果`decimal`上。
相关问题
二进制转十进制代码C++代码
#include <stdio.h>
#include <math.h>
int main() {
int binary, decimal = 0, i = 0, rem;
printf("Enter a binary number: ");
scanf("%d", &binary);
while (binary != 0) {
rem = binary % 10;
decimal += rem * pow(2, i);
++i;
binary /= 10;
}
printf("Decimal equivalent is: %d", decimal);
return 0;
}
二进制转换为十进制c++代码
以下是将二进制数转换为十进制数的 C++ 代码:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
int binaryToDecimal(int n) {
int decimalNumber = 0, i = 0, remainder;
while (n != 0) {
remainder = n % 10;
n /= 10;
decimalNumber += remainder * pow(2, i);
++i;
}
return decimalNumber;
}
int main() {
int binaryNumber;
cout << "Enter a binary number: ";
cin >> binaryNumber;
cout << binaryNumber << " in binary = " << binaryToDecimal(binaryNumber) << " in decimal";
return 0;
}
```
该代码首先定义了一个名为 `binaryToDecimal` 的函数,该函数接受一个二进制数作为参数,并将其转换为十进制数。然后,`main` 函数通过用户输入接收一个二进制数,并将其传递给 `binaryToDecimal` 函数进行转换。最后,程序输出二进制数和相应的十进制数。