进制转换问题源程序C++
时间: 2024-10-21 07:08:21 浏览: 16
栈实现任意进制转换c源程序
在C++中,进制转换通常涉及到将一个十进制数转换为其他基数(如二进制、八进制或十六进制)。以下是一个简单的C++源程序,演示了如何实现这个功能:
```cpp
#include <iostream>
#include <bitset> // 提供内置的二进制、八进制和十六进制转换
std::string convertToBase(int number, int base) {
std::stringstream ss;
ss << std::dec << number; // 将十进制转换为字符串
return ss.str().substr(ss.str().find('.') == std::string::npos ? 0 : ss.str().find('.') + 1); // 获取整数部分
// 后面会加上相应的进制前缀
}
std::string toBinary(int number) {
return "Binary: " + convertToBase(number, 2);
}
std::string toOctal(int number) {
return "Octal: " + convertToBase(number, 8);
}
std::string toHexadecimal(int number) {
return "Hexadecimal: " + convertToBase(number, 16);
}
int main() {
int decimalNum = 12345;
std::cout << toBinary(decimalNum) << std::endl;
std::cout << toOctal(decimalNum) << std::endl;
std::cout << toHexadecimal(decimalNum) << std::endl;
return 0;
}
阅读全文