#include <iostream>
#include <iomanip>
using namespace std;
enum A{a=9223372036854775808,b=~9223372036854775808+1};
template<typename T>
void dump(const T& value)
{
union {
T value;
unsigned char bytes[sizeof(T)];
} v;
std::cout << "signed=" << (~T(0)<0) << std::endl;
v.value = value;
for (size_t i = sizeof(v.bytes); i > 0; --i)
std::cout << std::hex << std::setfill('0') << std::setw(2) << (unsigned int)v.bytes[i-1];
std::cout << std::endl;
}
int main()
{
cout << sizeof(a) << endl;
dump(a);
dump(b);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmVudW0gQXthPTkyMjMzNzIwMzY4NTQ3NzU4MDgsYj1+OTIyMzM3MjAzNjg1NDc3NTgwOCsxfTsKIAp0ZW1wbGF0ZTx0eXBlbmFtZSBUPgp2b2lkIGR1bXAoY29uc3QgVCYgdmFsdWUpCnsKCXVuaW9uIHsKCQlUIHZhbHVlOwoJCXVuc2lnbmVkIGNoYXIgYnl0ZXNbc2l6ZW9mKFQpXTsKCX0gdjsKCQoJc3RkOjpjb3V0IDw8ICJzaWduZWQ9IiA8PCAoflQoMCk8MCkgPDwgc3RkOjplbmRsOwoJCgl2LnZhbHVlID0gdmFsdWU7Cglmb3IgKHNpemVfdCBpID0gc2l6ZW9mKHYuYnl0ZXMpOyBpID4gMDsgLS1pKQoJCXN0ZDo6Y291dCA8PCBzdGQ6OmhleCA8PCBzdGQ6OnNldGZpbGwoJzAnKSA8PCBzdGQ6OnNldHcoMikgPDwgKHVuc2lnbmVkIGludCl2LmJ5dGVzW2ktMV07CglzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwp9CiAKaW50IG1haW4oKQp7CiAKY291dCA8PCBzaXplb2YoYSkgPDwgZW5kbDsKZHVtcChhKTsKZHVtcChiKTsKIAogCn0=