Как на С++ перевести целое число в шестнадцатеричную систему счисления?
В программе необходимо проверить, является ли шестнадцатеричная запись числа палиндромом или нет.
Т. е. банальное cout << hex << x; в данном случае не проходит.
В программе необходимо проверить, является ли шестнадцатеричная запись числа палиндромом или нет.
Т. е. банальное cout << hex << x; в данном случае не проходит.
Какой капризный!
#include
#include
using namespace std;
int main() {
char buff[20];
int n = 777777777;
_itoa_s(n, buff, 16);
cout << buff << endl;
cin.get();
return 0;
}
#include
#include
#include
#include
#include
using namespace std;
int main() {
cout << "n? ";
int n;
cin >> n;
stringstream ss;
ss << hex << n;
string hx;
ss >> hx;
string rx(hx);
reverse(rx.begin(), rx.end());
cout << hx << endl << rx << endl << boolalpha << (hx == rx) << endl;
return 0;
}
Переведи в строку с hex, потом эту строку инвертируй, переведи в число и сравни с исходным.