二进制转十进制代码C++代码
时间: 2024-04-14 07:12:48 浏览: 52
#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 <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++代码
在C++中,将十进制数转换为二进制数可以使用内置的`bitset`库或者手动操作来进行。以下是两种常见的方法:
**使用bitset库:**
```cpp
#include <iostream>
#include <bitset>
int decimalToBinary(int decimal) {
std::bitset<8> binary(decimal); // 假设我们想要8位二进制
std::cout << "Binary representation: " << binary << std::endl;
return binary.to_ulong(); // 如果需要整型结果
}
int main() {
int input;
std::cout << "Enter a decimal number: ";
std::cin >> input;
decimalToBinary(input);
return 0;
}
```
**手动操作(位运算):**
```cpp
#include <iostream>
std::string decimalToBinary(int decimal) {
std::string binary = "";
while (decimal > 0) {
binary = std::to_string(decimal % 2) + binary;
decimal /= 2;
}
return binary;
}
int main() {
int input;
std::cout << "Enter a decimal number: ";
std::cin >> input;
std::cout << "Binary representation: " << decimalToBinary(input) << std::endl;
return 0;
}
```
阅读全文