补全函数,输入一个整数,并输出其对应的二进制、八进制和十六进制数的逆序数 C++
时间: 2024-02-03 13:14:51 浏览: 79
输入一个整数,输出其位数并逆序输出
以下是补全的函数:
```c++
#include <iostream>
#include <bitset>
#include <sstream>
#include <algorithm>
using namespace std;
void reverseNum(int n) {
// 二进制
bitset<32> binaryNum(n);
string binaryStr = binaryNum.to_string();
reverse(binaryStr.begin(), binaryStr.end());
cout << "二进制逆序数为:" << binaryStr << endl;
// 八进制
stringstream octalStr;
octalStr << oct << n;
string octalNum = octalStr.str();
reverse(octalNum.begin(), octalNum.end());
cout << "八进制逆序数为:" << octalNum << endl;
// 十六进制
stringstream hexStr;
hexStr << hex << n;
string hexNum = hexStr.str();
reverse(hexNum.begin(), hexNum.end());
cout << "十六进制逆序数为:" << hexNum << endl;
}
int main() {
int n;
cout << "请输入一个整数:";
cin >> n;
reverseNum(n);
return 0;
}
```
在该程序中,我们使用 `std::bitset` 类型来生成二进制字符串。而对于八进制和十六进制,我们使用 `std::stringstream` 类型将这些数字转换为字符串,并将它们逆序输出。
阅读全文