c++实现输入二进制的数转为十进制数
时间: 2025-01-11 08:54:56 浏览: 93
在C++中,将二进制数转换为十进制数通常通过循环遍历每一位并相加的方式来实现。这里是一个简单的示例,展示如何使用位运算来完成这个任务:
#include <iostream>
#include <bitset>
int binaryToDecimal(int binary) {
int decimal = 0;
std::bitset<32> bin(binary); // 将二进制数转换为std::bitset类型,假设我们处理的是32位的二进制数
for (int i = 0; i < bin.size(); ++i) {
decimal += bin.test(i) * pow(2, bin.size() - 1 - i);
}
return decimal;
}
int main() {
int binaryInput;
std::cout << "请输入一个二进制数: ";
std::cin >> binaryInput;
int decimalOutput = binaryToDecimal(binaryInput);
std::cout << "该二进制数转换为十进制为: " << decimalOutput << std::endl;
return 0;
}
在这个例子中,binaryToDecimal
函数接收一个整数作为二进制表示,然后使用test
函数检查每个位置的值(0或1),乘以对应的2的幂次后累加到decimal
变量上。最后返回得到的十进制数值。
相关推荐

















