#include <algorithm>
#include <iostream>
#include <bitset>
bool is_binary_representation_of_number_palindrome(unsigned int num) {
std::string binary = std::bitset<16>(num).to_string();
binary.erase(0, binary.find_first_not_of('0'));
std::cout << binary << "\n";
std::string reversebinary = binary;
std::reverse(reversebinary.begin(), reversebinary.end());
return binary == reversebinary;
}
int main()
{
unsigned int num = 153; // 10011001
if (is_binary_representation_of_number_palindrome(num)) {
std::cout << "Palindrome";
} else {
std::cout << "Not Palindrome";
}
}
/*
run:
10011001
Palindrome
*/