在c.pp输入一个十进制整型数,输出该数的十进制八进制16进制和字符格式
时间: 2024-09-15 19:05:47 浏览: 104
使用JavaScript进行进制转换将字符串转换为十进制
5星 · 资源好评率100%
在C++中,你可以使用`std::stringstream`和内置的转换函数来完成这个任务。首先,需要包含必要的头文件:
```cpp
#include <iostream>
#include <sstream>
#include <iomanip> // 包含iomanip是为了设置输出格式
```
然后编写一个函数来接收一个整数并分别输出其八进制、十六进制和字符格式:
```cpp
void convertNumber(int decimalNum) {
std::stringstream ss;
ss << std::oct << decimalNum; // 输出八进制
std::cout << "八进制: " << ss.str() << '\n';
ss.clear();
ss << std::hex << decimalNum; // 输出十六进制
std::cout << "十六进制: " << ss.str() << '\n';
ss.clear();
ss << std::setfill('0') << std::setw(4); // 设置宽度为4,不足用0填充
ss << std::uppercase << decimalNum; // 将数字转换为大写的十六进制字符格式
std::cout << "字符格式(大写): " << ss.str() << '\n';
}
```
在这个函数中,`std::oct`表示八进制,`std::hex`表示十六进制,`std::setfill('0')`和`std::setw(4)`用于设置输出的十六进制数始终占四位。
你可以像这样调用它:
```cpp
int main() {
int input = 12345;
convertNumber(input);
return 0;
}
```
运行这段代码,会得到类似这样的输出:
```
八进制: 20217
十六进制: 0x3039
字符格式(大写): 0X3039
```
阅读全文