#include<stdio.h>
#include<conio.h>
int x, limit, b=0, a, y, real[100];
void DecToBin(), DecToOct();
void DecToHex(),BinToAll(), OctToAll(),HexToDec();
char input[100];
int bin[50], oct[50];
char hex[50];
int main(void)
{
start:
for(x=0;input[x]!='\0';x++)
{}
x--;
//DECIMAL
if(input[x]=='d')
{
limit=x-1;
for(y=0;y<=limit;y++)
{
real[y]=input[y] -'0';
b=b*10+(real[y]);
}
DecToHex();
DecToBin();
DecToOct();
}
//BINARY
else if(input[x]=='b')
{
limit=x-1;
for(y=0;y<=limit;y++)
{
real[y]=input[y] -'0' ;
}
for(a=0; a<limit;a++)
{}
BinToAll();
}
//OCTAL
else if (input[x]=='o')
{
limit=x-1;
for(y=0; y<=limit;y++)
{
real[y]=input[y]-'0';
}
for(a=0 ; a<limit; a++)
{}
OctToAll();
}
//HEXADECIMAL
else if(input[x]=='h')
{
limit=x-1;
for(y=0; y<=limit;y++)
{
real[y]=input[y];
}
HexToDec();
}
else if(input[0]=='e'&&input[1]=='x'&&input[2]=='i'&&input[3]=='t')
{
return 0;
}
else
{
}
goto start;
return 0;
}
//DECIMAL TO HEXADECIMAL
void DecToHex(void)
{
int temp, x, y;
temp=b;
x=0;
while(temp>0)
{
switch(temp%16)
{
case 10:
real[x]='A';
break;
case 11:
real[x]='B';
break;
case 12:
real[x]='C';
break;
case 13:
real[x]='D';
break;
case 14:
real[x]='E';
break;
case 15:
real[x]='F';
break;
default:
real[x]=(temp%16)+0x30;
}
temp=temp/16;
x++;
}
for(y=(x-1);y>=0;y--)
{
}
}
//DECIMAL TO BINARY
void DecToBin()
{
int y=0, i,temp;
int bin[50];
for(temp=b;temp>0;y++)
{
bin[y]=temp%2;
temp=temp/2;
}
for ( i = y - 1; i > 0; i--)
{
}
}
// DECIMAL TO OCTAL
void DecToOct()
{
int y, i;
int oct[100];
for(y=0; b>0; y++)
{
oct[y]=b%8;
b=b/8;
}
for ( i = y - 1; i > 0; i--)
{
}
}
//BINARY TO ALL
void BinToAll()
{
//BINARY TO DECIMAL
int pval, product, z, sum, temp ;
pval=1;
z=0;
while (a>=0)
{
product=real[a]*pval;
sum=product+z;
z=sum;
pval=pval*2;
a--;
}
temp=sum;
//BINARY TO OCTAL
for(x=0; sum>0; x++)
{
oct[x]=sum%8;
sum=sum/8;
}
for(y=(x-1);y>=0;y--)
//BINARY TO HEXADECIMAL
x=0;
while(temp>0)
{
switch(temp%16)
{
case 10:
hex[x]='A';
break;
case 11:
hex[x]='B';
break;
case 12:
hex[x]='C';
break;
case 13:
hex[x]='D';
break;
case 14:
hex[x]='E';
break;
case 15:
hex[x]='F';
break;
default:
hex[x]=(temp%16)+0x30;
}
temp=temp/16;
x++;
}
for(y=(x-1);y>=0;y--)
}
//OCTAL TO ALL
void OctToAll()
{
//OCTAL TO DECIMAL
int pval, product, z, sum, temp ;
pval=1;
z=0;
while (a>=0)
{
product=real[a]*pval;
sum=product+z;
z=sum;
pval=pval*8;
a--;
}
temp=sum;
//OCTAL TO BINARY
for(x=0; sum>0; x++)
{
oct[x]=sum%2;
sum=sum/2;
}
for(y=(x-1);y>=0;y--)
//OCTAL TO HEXADECIMAL
x=0;
while(temp>0)
{
switch(temp%16)
{
case 10:
hex[x]='A';
break;
case 11:
hex[x]='B';
break;
case 12:
hex[x]='C';
break;
case 13:
hex[x]='D';
break;
case 14:
hex[x]='E';
break;
case 15:
hex[x]='F';
break;
default:
hex[x]=(temp%16)+0x30;
}
temp=temp/16;
x++;
}
for(y=(x-1);y>=0;y--)
}
void HexToDec();
{
int temp, x,y;
x=0;
temp=b;
while (temp>0)
{
switch(temp)
}
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8Y29uaW8uaD4KaW50IHgsCWxpbWl0LAliPTAsIGEsIHksIHJlYWxbMTAwXTsKdm9pZCAgRGVjVG9CaW4oKSwgRGVjVG9PY3QoKTsKdm9pZCBEZWNUb0hleCgpLEJpblRvQWxsKCksIE9jdFRvQWxsKCksSGV4VG9EZWMoKTsKY2hhciBpbnB1dFsxMDBdOwppbnQgYmluWzUwXSwgb2N0WzUwXTsKY2hhciBoZXhbNTBdOwoKaW50IG1haW4odm9pZCkKewpzdGFydDoKCXByaW50ZigiXG5FbnRlciBhIG51bWJlcjoiKTsKCXNjYW5mKCIlcyIsaW5wdXQpOwoKCQlmb3IoeD0wO2lucHV0W3hdIT0nXDAnO3grKykKCQl7fQoJCXgtLTsKLy9ERUNJTUFMCmlmKGlucHV0W3hdPT0nZCcpCgkJewoJCQlsaW1pdD14LTE7CgkJCSBmb3IoeT0wO3k8PWxpbWl0O3krKykKCQkJCQl7CgkJCQlyZWFsW3ldPWlucHV0W3ldIC0nMCc7CgkJCQliPWIqMTArKHJlYWxbeV0pOwoJCQkJCX0KCURlY1RvSGV4KCk7CglwcmludGYoIlxuIik7CiAgICBEZWNUb0JpbigpOwogICAgcHJpbnRmKCJcbiIpOwoJRGVjVG9PY3QoKTsKCQoKfQovL0JJTkFSWQplbHNlIGlmKGlucHV0W3hdPT0nYicpCgkJewoJCQlsaW1pdD14LTE7CgkJCSBmb3IoeT0wO3k8PWxpbWl0O3krKykKCQkJCQkJewoJCQkJCXJlYWxbeV09aW5wdXRbeV0gLScwJyA7CgkJCQkJCX0KCQkJCQlmb3IoYT0wOyBhPGxpbWl0O2ErKykKCQkJCQl7fQoJCUJpblRvQWxsKCk7CgkJCQl9Ci8vT0NUQUwKZWxzZSBpZiAoaW5wdXRbeF09PSdvJykKCQl7CgkJCWxpbWl0PXgtMTsKCQkJZm9yKHk9MDsgeTw9bGltaXQ7eSsrKQoJCQl7CgkJCQlyZWFsW3ldPWlucHV0W3ldLScwJzsKCQkJfQogICAgICAgZm9yKGE9MCA7IGE8bGltaXQ7IGErKykKCQkJCXt9CiAgICAgICAgT2N0VG9BbGwoKTsKCX0KLy9IRVhBREVDSU1BTAplbHNlIGlmKGlucHV0W3hdPT0naCcpCgkJewoJCQlsaW1pdD14LTE7CgkJCWZvcih5PTA7IHk8PWxpbWl0O3krKykKCQkJewoJCQkJcmVhbFt5XT1pbnB1dFt5XTsKCQkJCXByaW50ZigiJWMiLCByZWFsW3ldKTsKCQkJfQoJCUhleFRvRGVjKCk7CgkJCgkJfQoJZWxzZSBpZihpbnB1dFswXT09J2UnJiZpbnB1dFsxXT09J3gnJiZpbnB1dFsyXT09J2knJiZpbnB1dFszXT09J3QnKQogICAgICB7CiAgICAgICAgIHJldHVybiAwOwogICAgICB9CiAgIGVsc2UKewoJIHByaW50ZigiXG4iKTsKfQpnb3RvIHN0YXJ0OwpyZXR1cm4gMDsKfQovL0RFQ0lNQUwgVE8gSEVYQURFQ0lNQUwKdm9pZCBEZWNUb0hleCh2b2lkKQp7CiAgICBpbnQgdGVtcCwgeCwgeTsKCXRlbXA9YjsKCXg9MDsKICAgIHdoaWxlKHRlbXA+MCkKICAgIHsKICAgICAgICBzd2l0Y2godGVtcCUxNikKICAgICAgICAgICAgewoJCQljYXNlIDEwOgogICAgICAgICAgICAgICAgcmVhbFt4XT0nQSc7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTE6CiAgICAgICAgICAgICAgICByZWFsW3hdPSdCJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDEyOgogICAgICAgICAgICAgICAgcmVhbFt4XT0nQyc7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAxMzoKICAgICAgICAgICAgICAgIHJlYWxbeF09J0QnOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTQ6CiAgICAgICAgICAgICAgICByZWFsW3hdPSdFJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDE1OgogICAgICAgICAgICAgICByZWFsW3hdPSdGJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgcmVhbFt4XT0odGVtcCUxNikrMHgzMDsKICAgICAgICAgICAgfQogICAgICAgIHRlbXA9dGVtcC8xNjsKICAgICAgICB4Kys7CiAgICAgfQoKICAgIGZvcih5PSh4LTEpO3k+PTA7eS0tKQogICAgeyAKCXByaW50ZigiJWMiLHJlYWxbeV0pOwoJfQogICAgICBwcmludGYoImgiKTsgCn0KCi8vREVDSU1BTCBUTyBCSU5BUlkKdm9pZCBEZWNUb0JpbigpCnsKCSBpbnQgeT0wLCBpLHRlbXA7CiAgICAgaW50IGJpbls1MF07CiAgICBmb3IodGVtcD1iO3RlbXA+MDt5KyspCiAgIHsKICAgICBiaW5beV09dGVtcCUyOwogICAgIHRlbXA9dGVtcC8yOwoJfQoKICAgICBmb3IgKCBpID0geSAtIDE7IGkgPiAwOyBpLS0pCiAgICAgewogICAgICAgcHJpbnRmKCIlaSIsIGJpbltpXSk7CiAgICAgIH0KCXByaW50ZigiJWliIiwgYmluW2ldKTsKfQovLyBERUNJTUFMIFRPIE9DVEFMCnZvaWQgRGVjVG9PY3QoKQp7CglpbnQgeSwgaTsKCWludCBvY3RbMTAwXTsKCglmb3IoeT0wOyBiPjA7IHkrKykKICAgewogICAgIG9jdFt5XT1iJTg7CiAgICAgYj1iLzg7Cn0KCWZvciAoIGkgPSB5IC0gMTsgaSA+IDA7IGktLSkKICAgICB7CiAgICAgICBwcmludGYoIiVpIiwgb2N0W2ldKTsKICAgICAgfQoJcHJpbnRmKCIlaW8iLCBvY3RbaV0pOwp9CgovL0JJTkFSWSBUTyBBTEwKdm9pZCBCaW5Ub0FsbCgpCnsKLy9CSU5BUlkgVE8gREVDSU1BTAppbnQgcHZhbCwgcHJvZHVjdCwgeiwgc3VtLCB0ZW1wIDsKCgkJcHZhbD0xOwoJCXo9MDsKCQl3aGlsZSAoYT49MCkKCQkgewoJCQlwcm9kdWN0PXJlYWxbYV0qcHZhbDsKCQkJc3VtPXByb2R1Y3QrejsKCQkJej1zdW07CgkJCXB2YWw9cHZhbCoyOwoJCQlhLS07CgkJIH0KICAgICAgcHJpbnRmKCIlaSIsIHN1bSk7CiAgICAgIHByaW50ZigiZFxuIik7CnRlbXA9c3VtOwovL0JJTkFSWSBUTyBPQ1RBTAogICAgICAgZm9yKHg9MDsgc3VtPjA7IHgrKykKICAgIHsKICAgICAgICBvY3RbeF09c3VtJTg7CiAgICAgICAgc3VtPXN1bS84OwogICAgfQoKICAgIGZvcih5PSh4LTEpO3k+PTA7eS0tKQogICAgICAgIHByaW50ZigiJWkiLCBvY3RbeV0pOwogICAgICAgIHByaW50ZigibyIpOwovL0JJTkFSWSBUTyBIRVhBREVDSU1BTAp4PTA7CiAgICB3aGlsZSh0ZW1wPjApCiAgICB7CiAgICAgICAgc3dpdGNoKHRlbXAlMTYpCiAgICAgICAgICAgIHsKCiAgICAgICAgICAgIGNhc2UgMTA6CiAgICAgICAgICAgICAgICBoZXhbeF09J0EnOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDExOgogICAgICAgICAgICAgICAgaGV4W3hdPSdCJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDEyOgogICAgICAgICAgICAgICAgaGV4W3hdPSdDJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDEzOgogICAgICAgICAgICAgICAgaGV4W3hdPSdEJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDE0OgogICAgICAgICAgICAgICAgaGV4W3hdPSdFJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDE1OgogICAgICAgICAgICAgICAgaGV4W3hdPSdGJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgaGV4W3hdPSh0ZW1wJTE2KSsweDMwOwogICAgICAgICAgICB9CiAgICAgICAgdGVtcD10ZW1wLzE2OwogICAgICAgIHgrKzsKCiAgICB9CiBwcmludGYoIlxuIik7CiAgICBmb3IoeT0oeC0xKTt5Pj0wO3ktLSkKICAgICAgICBwcmludGYoIiVjIiwgaGV4W3ldKTsKICAgIHByaW50ZigiaCIpOwoKCn0KLy9PQ1RBTCBUTyBBTEwKdm9pZCBPY3RUb0FsbCgpCnsKLy9PQ1RBTCBUTyBERUNJTUFMCQppbnQgcHZhbCwgcHJvZHVjdCwgeiwgc3VtLCB0ZW1wIDsKCQlwdmFsPTE7CgkJej0wOwoJCXdoaWxlIChhPj0wKQoJCSB7CgkJCXByb2R1Y3Q9cmVhbFthXSpwdmFsOwoJCQlzdW09cHJvZHVjdCt6OwoJCQl6PXN1bTsKCQkJcHZhbD1wdmFsKjg7CgkJCWEtLTsKCQkgfQogICAgICBwcmludGYoIiVpIiwgc3VtKTsKICAgICAgcHJpbnRmKCJkXG4iKTsKdGVtcD1zdW07Ci8vT0NUQUwgVE8gQklOQVJZCiAgICAgICBmb3IoeD0wOyBzdW0+MDsgeCsrKQogICAgewogICAgICAgIG9jdFt4XT1zdW0lMjsKICAgICAgICBzdW09c3VtLzI7CiAgICB9CgogICAgZm9yKHk9KHgtMSk7eT49MDt5LS0pCiAgICAgICAgcHJpbnRmKCIlaSIsIG9jdFt5XSk7CiAgICAgICAgcHJpbnRmKCJvIik7Ci8vT0NUQUwgVE8gSEVYQURFQ0lNQUwKeD0wOwogICAgd2hpbGUodGVtcD4wKQogICAgewogICAgICAgIHN3aXRjaCh0ZW1wJTE2KQogICAgICAgICAgICB7CgogICAgICAgICAgICBjYXNlIDEwOgogICAgICAgICAgICAgICAgaGV4W3hdPSdBJzsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAxMToKICAgICAgICAgICAgICAgIGhleFt4XT0nQic7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAxMjoKICAgICAgICAgICAgICAgIGhleFt4XT0nQyc7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAxMzoKICAgICAgICAgICAgICAgIGhleFt4XT0nRCc7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAxNDoKICAgICAgICAgICAgICAgIGhleFt4XT0nRSc7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAxNToKICAgICAgICAgICAgICAgIGhleFt4XT0nRic7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIGhleFt4XT0odGVtcCUxNikrMHgzMDsKICAgICAgICAgICAgfQogICAgICAgIHRlbXA9dGVtcC8xNjsKICAgICAgICB4Kys7CgogICAgfQogcHJpbnRmKCJcbiIpOwogICAgZm9yKHk9KHgtMSk7eT49MDt5LS0pCiAgICAgICAgcHJpbnRmKCIlYyIsIGhleFt5XSk7CiAgICBwcmludGYoImgiKTsKfQoKdm9pZCBIZXhUb0RlYygpOwp7CglpbnQgdGVtcCwgeCx5OwoJeD0wOwoJdGVtcD1iOwoJd2hpbGUgKHRlbXA+MCkKCXsKCQkJc3dpdGNoKHRlbXApCgl9Cn0K