进制转换c++简单代码
时间: 2024-11-03 09:06:49 浏览: 12
在C++中,你可以使用`std::stoi`函数将字符串转换成整数(十进制转其他进制),而使用`std::itoa`或者自定义函数将整数转换回字符串(其他进制转十进制)。这里是一个简单的例子展示如何把一个整数转换为二进制:
```cpp
#include <iostream>
#include <bitset>
// 自定义函数,将整数转换为二进制字符串
std::string int_to_binary(int num) {
std::stringstream ss;
ss << std::bitset<8>(num); // 使用std::bitset表示二进制
return ss.str();
}
int main() {
int decimal_num = 42; // 要转换的十进制数字
std::string binary_str = int_to_binary(decimal_num);
std::cout << "Decimal: " << decimal_num << "\n";
std::cout << "Binary (base 2): " << binary_str << "\n";
return 0;
}
```
如果你想从二进制字符串转换回十进制,可以这样做:
```cpp
int binary_to_decimal(const std::string &binary_str) {
int decimal_num;
if (!(istringstream(binary_str) >> std::hex >> decimal_num)) {
throw invalid_argument("Invalid binary number");
}
return decimal_num;
}
int main() {
std::string binary_str = "101010"; // 二进制字符串
try {
int decimal_num = binary_to_decimal(binary_str);
std::cout << "Decimal: " << decimal_num << "\n";
} catch (const invalid_argument &e) {
std::cerr << e.what() << '\n';
}
return 0;
}
```
阅读全文