#include <iostream>
#include <iomanip>
using namespace std;
char* getBit(int n, char *str) {
int size = 8 * sizeof(int);
for (int i = size - 1; i >= 0; n >>= 1) {
str[i--] = (n & 1) + '0';
}
str[size] = '\0';
return str;
}
int toBit(char *str) {
int n = 0;
for (int i = 0; str[i] != '\0'; i++) {
n <<= 1;
n += str[i] - '0';
}
return n;
}
int main(void) {
int a = 15;
char *str = new char[101];
str = getBit(a, str);
cout << setfill('0') << setw(8 * sizeof(int)) << str << endl;
cout << toBit(str) << endl;
return 0;
}