C++二进制转十进制代码
时间: 2024-10-08 14:03:45 浏览: 43
在C++中,你可以使用位运算符或者内置函数`std::bitset`来将二进制转换成十进制。这里有一个简单的例子:
```cpp
#include <iostream>
#include <bitset>
// 二进制转十进制
int binaryToDecimal(int binary) {
int decimal = 0;
while (binary > 0) {
decimal = decimal * 2 + binary % 10; // 右移并加当前位的值
binary /= 10;
}
return decimal;
}
int main() {
std::string binary_str = "1010"; // 二进制字符串示例
int binary = std::stoi(binary_str); // 将字符串转换为整数
int decimal_value = binaryToDecimal(binary);
std::cout << "Binary " << binary_str << " is equivalent to decimal " << decimal_value << std::endl;
return 0;
}
```
在这个例子中,我们首先将输入的二进制字符串转换为整数,然后通过循环逐位累加来计算对应的十进制值。
相关问题
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函数将输入的二进制数转换为十进制数,并输出转换后的结果。
c++二进制转十进制代码里'0'
在C++中,将二进制字符串转换为十进制整数通常涉及到从字符数组读取每一位并乘以对应的权重。这里有一个简单的示例代码片段,它使用了`std::bitset`来进行这个操作:
```cpp
#include <bitset>
#include <string>
int binaryToDecimal(const std::string& binary) {
std::bitset<32> bitset(binary); // 假设二进制最多32位
int decimal = bitset.to_ulong(); // 将bitset转换为无符号长整型
return decimal;
}
// 示例
std::string binaryString = "101010"; // 二进制表示
int decimalValue = binaryToDecimal(binaryString);
```
在这个例子中,`binaryToDecimal`函数接受一个字符串形式的二进制数字,将其转换成等值的十进制整数。`std::bitset`是一个内置数据结构,可以方便地处理二进制数据。
阅读全文