#include<iostream>
const size_t LONG_SIZE = sizeof(long)*8; // size of a long type is 64 bits
using namespace std;
string b10_to_b2(long x)
{
string binNum;
if(x < 0) // determine if the number is negative, a number in two's complement will be neg if its' first bit is zero.
{
binNum = "1";
}
else
{
binNum = "0";
}
int i = LONG_SIZE - 1;
while(i > 0)
{
i --;
if( (x & ( 1UL << i) ))
{
binNum = binNum + "1";
}
else
{
binNum = binNum + "0";
}
}
return binNum;
}
int main()
{
cout << b10_to_b2(-1) << endl;
}
I2luY2x1ZGU8aW9zdHJlYW0+CmNvbnN0IHNpemVfdCBMT05HX1NJWkUgPSBzaXplb2YobG9uZykqODsgLy8gc2l6ZSBvZiBhIGxvbmcgdHlwZSBpcyA2NCBiaXRzCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RyaW5nIGIxMF90b19iMihsb25nIHgpCnsKICAgIHN0cmluZyBiaW5OdW07CiAgICBpZih4IDwgMCkgLy8gZGV0ZXJtaW5lIGlmIHRoZSBudW1iZXIgaXMgbmVnYXRpdmUsIGEgbnVtYmVyIGluIHR3bydzIGNvbXBsZW1lbnQgd2lsbCBiZSBuZWcgaWYgaXRzJyBmaXJzdCBiaXQgaXMgemVyby4KICAgIHsKICAgICAgICAgICAgYmluTnVtID0gIjEiOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgICAgICBiaW5OdW0gPSAiMCI7CiAgICB9CiAgICBpbnQgaSA9IExPTkdfU0laRSAtIDE7CiAgICB3aGlsZShpID4gMCkKICAgIHsKICAgICAgICAgICAgaSAtLTsKICAgICAgICAgICAgaWYoICh4ICYgKCAxVUwgPDwgaSkgKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGJpbk51bSA9IGJpbk51bSArICIxIjsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBiaW5OdW0gPSBiaW5OdW0gKyAiMCI7CiAgICAgICAgICAgIH0KICAgIH0KICAgIHJldHVybiBiaW5OdW07Cn0KCmludCBtYWluKCkKewogICAgY291dCA8PCBiMTBfdG9fYjIoLTEpIDw8IGVuZGw7Cn0=