#include <iostream>
using namespace std;
void sprawdzak(string nazwa)
{
if (nazwa=="0000")
nazwa="0";
else if (nazwa=="0001")
nazwa="1";
else if (nazwa=="0010")
nazwa="2";
else if (nazwa=="0011")
nazwa="3";
else if (nazwa=="0100")
nazwa="4";
else if (nazwa=="0101")
nazwa="5";
else if (nazwa=="0110")
nazwa="6";
else if (nazwa=="0111")
nazwa="7";
else if (nazwa=="1000")
nazwa="8";
else if (nazwa=="1001")
nazwa="9";
else if (nazwa=="1010")
nazwa="a";
else if (nazwa=="1011")
nazwa="b";
else if (nazwa=="1100")
nazwa="c";
else if (nazwa=="1101")
nazwa="d";
else if (nazwa=="1110")
nazwa="e";
else if (nazwa=="1111")
nazwa="f";
}
int main()
{
float liczba, mantiska;
string s,exp_s, exp_s_odw, manta,calosc;
int ile_testow,krok,exp;
string bitek[8];
string bitka[4];
cin>>ile_testow;
for (int z=0;z<ile_testow;z++)
{
for (int x=0;x<4;x++)
{
bitka[x]="";
}
for (int x=0;x<8;x++)
{
bitek[x]="";
}
exp_s="";
exp_s_odw="";
manta="";
calosc="";
exp=127;
krok=0;
cin>>liczba;
if (liczba<0)
{
liczba=-liczba;
s="1";
}
else
s="0";
if (liczba==0)
cout<<"0 0 0 0"<<endl;
else if (liczba==0)
cout<<"80 0 0 0"<<endl;
else if (liczba>=1)
{
while(liczba>=2)
{
krok++;
liczba=liczba/2;
}
exp=exp+krok;
int exp_z=exp;
while(exp!=0)
{
if ((exp)%2==1)
exp_s=exp_s+"1";
else if ((exp)%2==0)
exp_s=exp_s+"0";
exp=exp/2;
}
if (exp_z==127)
exp_s=exp_s+"0";
int d_exp = exp_s.length();
for (int i=d_exp-1; i>=0; i--)
{
exp_s_odw=exp_s_odw+exp_s[i];
}
mantiska=liczba-1;
for(int i=0; i<23; i++)
{
mantiska=mantiska*2;
if (mantiska>=1)
{
manta=manta+"1";
mantiska=mantiska-1;
}
else if (mantiska<1)
{
manta=manta+"0";
}
}
calosc=s+exp_s_odw+manta;
int k=0;
for (int i=0; i<8; i++)
{
for (int j=0; j<4; j++)
{
bitek[i]=bitek[i]+calosc[k];
k++;
}
sprawdzak(bitek[i]);
/*if (bitek[i]=="0000")
bitek[i]="0";
if (bitek[i]=="0001")
bitek[i]="1";
if (bitek[i]=="0010")
bitek[i]="2";
if (bitek[i]=="0011")
bitek[i]="3";
if (bitek[i]=="0100")
bitek[i]="4";
if (bitek[i]=="0101")
bitek[i]="5";
if (bitek[i]=="0110")
bitek[i]="6";
if (bitek[i]=="0111")
bitek[i]="7";
if (bitek[i]=="1000")
bitek[i]="8";
if (bitek[i]=="1001")
bitek[i]="9";
if (bitek[i]=="1010")
bitek[i]="a";
if (bitek[i]=="1011")
bitek[i]="b";
if (bitek[i]=="1100")
bitek[i]="c";
if (bitek[i]=="1101")
bitek[i]="d";
if (bitek[i]=="1110")
bitek[i]="e";
if (bitek[i]=="1111")
bitek[i]="f";*/
}
int c=0;
for (int i=0; i<4; i++)
{
bitka[i]=bitek[c]+bitek[c+1];
if (bitka[i]=="00")
bitka[i]="0";
cout<<bitka[i]<<" ";
c=c+2;
}
cout<<endl;
}
else if (liczba<1)
{
while(liczba<1)
{
krok--;
liczba=liczba*2;
}
exp=exp+krok;
while(exp!=0)
{
if ((exp)%2==1)
exp_s=exp_s+"1";
else if ((exp)%2==0)
exp_s=exp_s+"0";
exp=exp/2;
}
int d_exp = exp_s.length();
while(d_exp<8)
{
exp_s=exp_s+"0";
d_exp=exp_s.length();
}
for (int i=d_exp-1; i>=0; i--)
{
exp_s_odw=exp_s_odw+exp_s[i];
}
mantiska=liczba-1;
for(int i=0; i<23; i++)
{
mantiska=mantiska*2;
if (mantiska>=1)
{
manta=manta+"1";
mantiska=mantiska-1;
}
else if (mantiska<1)
{
manta=manta+"0";
}
}
calosc=s+exp_s_odw+manta;
int k=0;
for (int i=0; i<8; i++)
{
for (int j=0; j<4; j++)
{
bitek[i]=bitek[i]+calosc[k];
k++;
}
if (bitek[i]=="0000")
bitek[i]="0";
if (bitek[i]=="0001")
bitek[i]="1";
if (bitek[i]=="0010")
bitek[i]="2";
if (bitek[i]=="0011")
bitek[i]="3";
if (bitek[i]=="0100")
bitek[i]="4";
if (bitek[i]=="0101")
bitek[i]="5";
if (bitek[i]=="0110")
bitek[i]="6";
if (bitek[i]=="0111")
bitek[i]="7";
if (bitek[i]=="1000")
bitek[i]="8";
if (bitek[i]=="1001")
bitek[i]="9";
if (bitek[i]=="1010")
bitek[i]="a";
if (bitek[i]=="1011")
bitek[i]="b";
if (bitek[i]=="1100")
bitek[i]="c";
if (bitek[i]=="1101")
bitek[i]="d";
if (bitek[i]=="1110")
bitek[i]="e";
if (bitek[i]=="1111")
bitek[i]="f";
}
int c=0;
for (int i=0; i<4; i++)
{
bitka[i]=bitek[c]+bitek[c+1];
if (bitka[i]=="00")
bitka[i]="0";
cout<<bitka[i]<<" ";
c=c+2;
}
cout<<endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp2b2lkIHNwcmF3ZHphayhzdHJpbmcgbmF6d2EpCnsKICAgICAgICAgICAgaWYgKG5hendhPT0iMDAwMCIpCiAgICAgICAgICAgICAgICBuYXp3YT0iMCI7CiAgICAgICAgICAgIGVsc2UgaWYgKG5hendhPT0iMDAwMSIpCiAgICAgICAgICAgICAgICBuYXp3YT0iMSI7CiAgICAgICAgICAgIGVsc2UgaWYgKG5hendhPT0iMDAxMCIpCiAgICAgICAgICAgICAgICBuYXp3YT0iMiI7CiAgICAgICAgICAgIGVsc2UgaWYgKG5hendhPT0iMDAxMSIpCiAgICAgICAgICAgICAgICBuYXp3YT0iMyI7CiAgICAgICAgICAgIGVsc2UgaWYgKG5hendhPT0iMDEwMCIpCiAgICAgICAgICAgICAgICBuYXp3YT0iNCI7CiAgICAgICAgICAgIGVsc2UgaWYgKG5hendhPT0iMDEwMSIpCiAgICAgICAgICAgICAgICBuYXp3YT0iNSI7CiAgICAgICAgICAgIGVsc2UgaWYgKG5hendhPT0iMDExMCIpCiAgICAgICAgICAgICAgICBuYXp3YT0iNiI7CiAgICAgICAgICAgIGVsc2UgaWYgKG5hendhPT0iMDExMSIpCiAgICAgICAgICAgICAgICBuYXp3YT0iNyI7CiAgICAgICAgICAgIGVsc2UgaWYgKG5hendhPT0iMTAwMCIpCiAgICAgICAgICAgICAgICBuYXp3YT0iOCI7CiAgICAgICAgICAgIGVsc2UgaWYgKG5hendhPT0iMTAwMSIpCiAgICAgICAgICAgICAgICBuYXp3YT0iOSI7CiAgICAgICAgICAgIGVsc2UgaWYgKG5hendhPT0iMTAxMCIpCiAgICAgICAgICAgICAgICBuYXp3YT0iYSI7CiAgICAgICAgICAgIGVsc2UgaWYgKG5hendhPT0iMTAxMSIpCiAgICAgICAgICAgICAgICBuYXp3YT0iYiI7CiAgICAgICAgICAgIGVsc2UgaWYgKG5hendhPT0iMTEwMCIpCiAgICAgICAgICAgICAgICBuYXp3YT0iYyI7CiAgICAgICAgICAgIGVsc2UgaWYgKG5hendhPT0iMTEwMSIpCiAgICAgICAgICAgICAgICBuYXp3YT0iZCI7CiAgICAgICAgICAgIGVsc2UgaWYgKG5hendhPT0iMTExMCIpCiAgICAgICAgICAgICAgICBuYXp3YT0iZSI7CiAgICAgICAgICAgIGVsc2UgaWYgKG5hendhPT0iMTExMSIpCiAgICAgICAgICAgICAgICBuYXp3YT0iZiI7Cn0KaW50IG1haW4oKQp7CiAgICBmbG9hdCBsaWN6YmEsIG1hbnRpc2thOwogICAgc3RyaW5nIHMsZXhwX3MsIGV4cF9zX29kdywgbWFudGEsY2Fsb3NjOwogICAgaW50IGlsZV90ZXN0b3csa3JvayxleHA7CiAgICBzdHJpbmcgYml0ZWtbOF07CiAgICBzdHJpbmcgYml0a2FbNF07CiAgICBjaW4+PmlsZV90ZXN0b3c7CiAgICBmb3IgKGludCB6PTA7ejxpbGVfdGVzdG93O3orKykKICAgIHsKICAgIGZvciAoaW50IHg9MDt4PDQ7eCsrKQogICAgewogICAgICAgIGJpdGthW3hdPSIiOwogICAgfQogICAgZm9yIChpbnQgeD0wO3g8ODt4KyspCiAgICB7CiAgICAgICAgYml0ZWtbeF09IiI7CiAgICB9CiAgICBleHBfcz0iIjsKICAgIGV4cF9zX29kdz0iIjsKICAgIG1hbnRhPSIiOwogICAgY2Fsb3NjPSIiOwogICAgZXhwPTEyNzsKICAgIGtyb2s9MDsKICAgIGNpbj4+bGljemJhOwogICAgaWYgKGxpY3piYTwwKQogICAgewogICAgICAgIGxpY3piYT0tbGljemJhOwogICAgICAgIHM9IjEiOwogICAgfQogICAgZWxzZQogICAgICAgIHM9IjAiOwogICAgaWYgKGxpY3piYT09MCkKICAgICAgICBjb3V0PDwiMCAwIDAgMCI8PGVuZGw7CiAgICBlbHNlIGlmIChsaWN6YmE9PTApCiAgICAgICAgY291dDw8IjgwIDAgMCAwIjw8ZW5kbDsKICAgIGVsc2UgaWYgKGxpY3piYT49MSkKICAgIHsKICAgICAgICB3aGlsZShsaWN6YmE+PTIpCiAgICAgICAgewogICAgICAgICAgICBrcm9rKys7CiAgICAgICAgICAgIGxpY3piYT1saWN6YmEvMjsKICAgICAgICB9CiAgICAgICAgZXhwPWV4cCtrcm9rOwogICAgICAgIGludCBleHBfej1leHA7CiAgICAgICAgd2hpbGUoZXhwIT0wKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKChleHApJTI9PTEpCiAgICAgICAgICAgICAgICBleHBfcz1leHBfcysiMSI7CiAgICAgICAgICAgIGVsc2UgaWYgKChleHApJTI9PTApCiAgICAgICAgICAgICAgICBleHBfcz1leHBfcysiMCI7CiAgICAgICAgICAgIGV4cD1leHAvMjsKICAgICAgICB9CiAgICAgICAgaWYgKGV4cF96PT0xMjcpCiAgICAgICAgICAgIGV4cF9zPWV4cF9zKyIwIjsKICAgICAgICBpbnQgZF9leHAgPSBleHBfcy5sZW5ndGgoKTsKICAgICAgICBmb3IgKGludCBpPWRfZXhwLTE7IGk+PTA7IGktLSkKICAgICAgICB7CiAgICAgICAgICAgIGV4cF9zX29kdz1leHBfc19vZHcrZXhwX3NbaV07CiAgICAgICAgfQogICAgICAgIG1hbnRpc2thPWxpY3piYS0xOwogICAgICAgIGZvcihpbnQgaT0wOyBpPDIzOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBtYW50aXNrYT1tYW50aXNrYSoyOwogICAgICAgICAgICBpZiAobWFudGlza2E+PTEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIG1hbnRhPW1hbnRhKyIxIjsKICAgICAgICAgICAgICAgIG1hbnRpc2thPW1hbnRpc2thLTE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZiAobWFudGlza2E8MSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbWFudGE9bWFudGErIjAiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhbG9zYz1zK2V4cF9zX29kdyttYW50YTsKICAgICAgICBpbnQgaz0wOwogICAgICAgIGZvciAoaW50IGk9MDsgaTw4OyBpKyspCiAgICAgICAgewogICAgICAgICAgICBmb3IgKGludCBqPTA7IGo8NDsgaisrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBiaXRla1tpXT1iaXRla1tpXStjYWxvc2Nba107CiAgICAgICAgICAgICAgICBrKys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc3ByYXdkemFrKGJpdGVrW2ldKTsKICAgICAgICAgICAgLyppZiAoYml0ZWtbaV09PSIwMDAwIikKICAgICAgICAgICAgICAgIGJpdGVrW2ldPSIwIjsKICAgICAgICAgICAgaWYgKGJpdGVrW2ldPT0iMDAwMSIpCiAgICAgICAgICAgICAgICBiaXRla1tpXT0iMSI7CiAgICAgICAgICAgIGlmIChiaXRla1tpXT09IjAwMTAiKQogICAgICAgICAgICAgICAgYml0ZWtbaV09IjIiOwogICAgICAgICAgICBpZiAoYml0ZWtbaV09PSIwMDExIikKICAgICAgICAgICAgICAgIGJpdGVrW2ldPSIzIjsKICAgICAgICAgICAgaWYgKGJpdGVrW2ldPT0iMDEwMCIpCiAgICAgICAgICAgICAgICBiaXRla1tpXT0iNCI7CiAgICAgICAgICAgIGlmIChiaXRla1tpXT09IjAxMDEiKQogICAgICAgICAgICAgICAgYml0ZWtbaV09IjUiOwogICAgICAgICAgICBpZiAoYml0ZWtbaV09PSIwMTEwIikKICAgICAgICAgICAgICAgIGJpdGVrW2ldPSI2IjsKICAgICAgICAgICAgaWYgKGJpdGVrW2ldPT0iMDExMSIpCiAgICAgICAgICAgICAgICBiaXRla1tpXT0iNyI7CiAgICAgICAgICAgIGlmIChiaXRla1tpXT09IjEwMDAiKQogICAgICAgICAgICAgICAgYml0ZWtbaV09IjgiOwogICAgICAgICAgICBpZiAoYml0ZWtbaV09PSIxMDAxIikKICAgICAgICAgICAgICAgIGJpdGVrW2ldPSI5IjsKICAgICAgICAgICAgaWYgKGJpdGVrW2ldPT0iMTAxMCIpCiAgICAgICAgICAgICAgICBiaXRla1tpXT0iYSI7CiAgICAgICAgICAgIGlmIChiaXRla1tpXT09IjEwMTEiKQogICAgICAgICAgICAgICAgYml0ZWtbaV09ImIiOwogICAgICAgICAgICBpZiAoYml0ZWtbaV09PSIxMTAwIikKICAgICAgICAgICAgICAgIGJpdGVrW2ldPSJjIjsKICAgICAgICAgICAgaWYgKGJpdGVrW2ldPT0iMTEwMSIpCiAgICAgICAgICAgICAgICBiaXRla1tpXT0iZCI7CiAgICAgICAgICAgIGlmIChiaXRla1tpXT09IjExMTAiKQogICAgICAgICAgICAgICAgYml0ZWtbaV09ImUiOwogICAgICAgICAgICBpZiAoYml0ZWtbaV09PSIxMTExIikKICAgICAgICAgICAgICAgIGJpdGVrW2ldPSJmIjsqLwogICAgICAgIH0KICAgICAgICBpbnQgYz0wOwogICAgICAgIGZvciAoaW50IGk9MDsgaTw0OyBpKyspCiAgICAgICAgewogICAgICAgICAgICBiaXRrYVtpXT1iaXRla1tjXStiaXRla1tjKzFdOwogICAgICAgICAgICBpZiAoYml0a2FbaV09PSIwMCIpCiAgICAgICAgICAgICAgICBiaXRrYVtpXT0iMCI7CiAgICAgICAgICAgIGNvdXQ8PGJpdGthW2ldPDwiICI7CiAgICAgICAgICAgIGM9YysyOwogICAgICAgIH0KICAgICAgICBjb3V0PDxlbmRsOwogICAgfQogICAgZWxzZSBpZiAobGljemJhPDEpCiAgICB7CiAgICAgICAgd2hpbGUobGljemJhPDEpCiAgICAgICAgewogICAgICAgICAgICBrcm9rLS07CiAgICAgICAgICAgIGxpY3piYT1saWN6YmEqMjsKICAgICAgICB9CiAgICAgICAgZXhwPWV4cCtrcm9rOwogICAgICAgIHdoaWxlKGV4cCE9MCkKICAgICAgICB7CiAgICAgICAgICAgIGlmICgoZXhwKSUyPT0xKQogICAgICAgICAgICAgICAgZXhwX3M9ZXhwX3MrIjEiOwogICAgICAgICAgICBlbHNlIGlmICgoZXhwKSUyPT0wKQogICAgICAgICAgICAgICAgZXhwX3M9ZXhwX3MrIjAiOwogICAgICAgICAgICBleHA9ZXhwLzI7CiAgICAgICAgfQogICAgICAgIGludCBkX2V4cCA9IGV4cF9zLmxlbmd0aCgpOwogICAgICAgIHdoaWxlKGRfZXhwPDgpCiAgICAgICAgewogICAgICAgICAgICBleHBfcz1leHBfcysiMCI7CiAgICAgICAgICAgIGRfZXhwPWV4cF9zLmxlbmd0aCgpOwogICAgICAgIH0KICAgICAgICBmb3IgKGludCBpPWRfZXhwLTE7IGk+PTA7IGktLSkKICAgICAgICB7CiAgICAgICAgICAgIGV4cF9zX29kdz1leHBfc19vZHcrZXhwX3NbaV07CiAgICAgICAgfQogICAgICAgIG1hbnRpc2thPWxpY3piYS0xOwogICAgICAgIGZvcihpbnQgaT0wOyBpPDIzOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBtYW50aXNrYT1tYW50aXNrYSoyOwogICAgICAgICAgICBpZiAobWFudGlza2E+PTEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIG1hbnRhPW1hbnRhKyIxIjsKICAgICAgICAgICAgICAgIG1hbnRpc2thPW1hbnRpc2thLTE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZiAobWFudGlza2E8MSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbWFudGE9bWFudGErIjAiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhbG9zYz1zK2V4cF9zX29kdyttYW50YTsKICAgICAgICBpbnQgaz0wOwogICAgICAgIGZvciAoaW50IGk9MDsgaTw4OyBpKyspCiAgICAgICAgewogICAgICAgICAgICBmb3IgKGludCBqPTA7IGo8NDsgaisrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBiaXRla1tpXT1iaXRla1tpXStjYWxvc2Nba107CiAgICAgICAgICAgICAgICBrKys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGJpdGVrW2ldPT0iMDAwMCIpCiAgICAgICAgICAgICAgICBiaXRla1tpXT0iMCI7CiAgICAgICAgICAgIGlmIChiaXRla1tpXT09IjAwMDEiKQogICAgICAgICAgICAgICAgYml0ZWtbaV09IjEiOwogICAgICAgICAgICBpZiAoYml0ZWtbaV09PSIwMDEwIikKICAgICAgICAgICAgICAgIGJpdGVrW2ldPSIyIjsKICAgICAgICAgICAgaWYgKGJpdGVrW2ldPT0iMDAxMSIpCiAgICAgICAgICAgICAgICBiaXRla1tpXT0iMyI7CiAgICAgICAgICAgIGlmIChiaXRla1tpXT09IjAxMDAiKQogICAgICAgICAgICAgICAgYml0ZWtbaV09IjQiOwogICAgICAgICAgICBpZiAoYml0ZWtbaV09PSIwMTAxIikKICAgICAgICAgICAgICAgIGJpdGVrW2ldPSI1IjsKICAgICAgICAgICAgaWYgKGJpdGVrW2ldPT0iMDExMCIpCiAgICAgICAgICAgICAgICBiaXRla1tpXT0iNiI7CiAgICAgICAgICAgIGlmIChiaXRla1tpXT09IjAxMTEiKQogICAgICAgICAgICAgICAgYml0ZWtbaV09IjciOwogICAgICAgICAgICBpZiAoYml0ZWtbaV09PSIxMDAwIikKICAgICAgICAgICAgICAgIGJpdGVrW2ldPSI4IjsKICAgICAgICAgICAgaWYgKGJpdGVrW2ldPT0iMTAwMSIpCiAgICAgICAgICAgICAgICBiaXRla1tpXT0iOSI7CiAgICAgICAgICAgIGlmIChiaXRla1tpXT09IjEwMTAiKQogICAgICAgICAgICAgICAgYml0ZWtbaV09ImEiOwogICAgICAgICAgICBpZiAoYml0ZWtbaV09PSIxMDExIikKICAgICAgICAgICAgICAgIGJpdGVrW2ldPSJiIjsKICAgICAgICAgICAgaWYgKGJpdGVrW2ldPT0iMTEwMCIpCiAgICAgICAgICAgICAgICBiaXRla1tpXT0iYyI7CiAgICAgICAgICAgIGlmIChiaXRla1tpXT09IjExMDEiKQogICAgICAgICAgICAgICAgYml0ZWtbaV09ImQiOwogICAgICAgICAgICBpZiAoYml0ZWtbaV09PSIxMTEwIikKICAgICAgICAgICAgICAgIGJpdGVrW2ldPSJlIjsKICAgICAgICAgICAgaWYgKGJpdGVrW2ldPT0iMTExMSIpCiAgICAgICAgICAgICAgICBiaXRla1tpXT0iZiI7CiAgICAgICAgfQogICAgICAgIGludCBjPTA7CiAgICAgICAgZm9yIChpbnQgaT0wOyBpPDQ7IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIGJpdGthW2ldPWJpdGVrW2NdK2JpdGVrW2MrMV07CiAgICAgICAgICAgIGlmIChiaXRrYVtpXT09IjAwIikKICAgICAgICAgICAgICAgIGJpdGthW2ldPSIwIjsKICAgICAgICAgICAgY291dDw8Yml0a2FbaV08PCIgIjsKICAgICAgICAgICAgYz1jKzI7CiAgICAgICAgfQogICAgICAgIGNvdXQ8PGVuZGw7CiAgICB9CiAgICB9CiAgICByZXR1cm4gMDsKfQo=