#include <iostream>
#include <climits>
#include <cstddef>
#include <cstdint>
template <typename T>
void to_binary(T x)
{
const unsigned char* byte = reinterpret_cast<const unsigned char*>(&x + 1);
for (std::size_t i = sizeof(x); i > 0; --i)
{
--byte;
for (std::size_t j = CHAR_BIT; j > 0; --j)
std::cout << ( (*byte >> (j - 1)) & 1u );
std::cout << ' ';
}
std::cout << std::endl;
}
int main()
{
volatile std::int_least32_t x = 255L * 256 * 256 + (128L + 1L) * 256 + 2 + 4 + 8;
to_binary(x);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y2xpbWl0cz4KI2luY2x1ZGUgPGNzdGRkZWY+CgojaW5jbHVkZSA8Y3N0ZGludD4KCnRlbXBsYXRlIDx0eXBlbmFtZSBUPgp2b2lkIHRvX2JpbmFyeShUIHgpCnsKICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGJ5dGUgPSByZWludGVycHJldF9jYXN0PGNvbnN0IHVuc2lnbmVkIGNoYXIqPigmeCArIDEpOwoKICAgIGZvciAoc3RkOjpzaXplX3QgaSA9IHNpemVvZih4KTsgaSA+IDA7IC0taSkKICAgIHsKICAgICAgICAtLWJ5dGU7CiAgICAgICAgZm9yIChzdGQ6OnNpemVfdCBqID0gQ0hBUl9CSVQ7IGogPiAwOyAtLWopCiAgICAgICAgICAgIHN0ZDo6Y291dCA8PCAoICgqYnl0ZSA+PiAoaiAtIDEpKSAmIDF1ICk7CiAgICAgICAgc3RkOjpjb3V0IDw8ICcgJzsKICAgIH0KICAgIHN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7Cn0KCmludCBtYWluKCkgCnsKCXZvbGF0aWxlIHN0ZDo6aW50X2xlYXN0MzJfdCB4ID0gMjU1TCAqIDI1NiAqIDI1NiArICgxMjhMICsgMUwpICogMjU2ICsgMiArIDQgKyA4OwoJCgl0b19iaW5hcnkoeCk7CgkKCXJldHVybiAwOwp9