0% found this document useful (0 votes)
23 views9 pages

BASE Converter

The document describes a C program that implements a base conversion utility. It defines functions to convert between binary, decimal, octal and hexadecimal numbering systems. The program uses a menu driven interface to allow the user to select the conversion type and input/output bases.

Uploaded by

shahinsimo6242s
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views9 pages

BASE Converter

The document describes a C program that implements a base conversion utility. It defines functions to convert between binary, decimal, octal and hexadecimal numbering systems. The program uses a menu driven interface to allow the user to select the conversion type and input/output bases.

Uploaded by

shahinsimo6242s
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 9

BASE Converter

#in clu d e<std io .h >


#in clu d e<std lib .h >

in tmen u(in tn)


{
prin tf(“*-\n ”);
prin tf(“Availb leTask\n ”);
prin tf(“*-\n ”);
prin tf(“*\n ”);

prin tf(“1.Bin aryto Octal\n ”);


prin tf(“2.Bin aryto Decimal\n ”);
prin tf(“3.Bin aryto Hexad ecimal\n ”);
prin tf(“4.Octalo B in ary\n ”);
prin tf(“5.Octalo Decimal\n ”);
prin tf(“6.Octalo Hexad ecimal\n ”);
prin tf(“7.Decimalto Bin ary\n ”);
prin tf(“8.Decimalto Octal\n ”);
prin tf(“9.Decimalto Hexad ecimal\n ”);
prin tf(“10.Hexad ecimalto Bin ary\n ”);
prin tf(“11.Hexad ecimalto Octal\n ”);
prin tf(“12.Hexad ecimalto Decimal\n ”);
prin tf(“0.Exit\n ”);
prin tf(“*\n \n ”);
prin tf(“Choice:”);

in to;
scan f(“%d ”,&o);

if(o =1 )
b_o ();

elsif(o =2 )
b_d ();

elsif(o =3 )
b_h ();

elsif(o =4 )
o_b ();

elsif(o =5 )
o_d ();

elsif(o =6 )
o_h ();

elsif(o =7 )
d_b ();

elsif(o =8 )
d_o ();

elsif(o =9 )
d_h ();
elsif(o =1 0 )
h_b ();

elsif(o =1 1 )
h_o ();

elsif(o =1 2 )
h_d ();
elsif(o =0 )
retu rn 0 ;

elsif(o <1 |o >1 2)


prin tf(“In valid In p ut!\n ”);

prin tf(“*\n ”);


prin tf(“1.Main Men u\n ”);
prin tf(“0.Exit\n ”);
prin tf(“*\n ”);
prin tf(“);

scan f(“%d ”,&n);


sytem(“cls”);
retu rn n ;
}

v id b _o ()
o
{

lo ngin tbin ,oct=0 ,ri=1 ;


prin tf(“En terabin aryn umber:“);
scan f(“%ld ”,&bin );
in tb=b in ;
while(b in !=0 )
{
r=b in %10;
oct=o ct+r*I;
i=*2 ;
bin =b in /1 0;
}
prin tf(“Bin aryto Octal:%ld (B)=%lo (O)\n ”,b ,o ct);
}

vo id b _d ()
{
lo ngin tbin ,dec=0 ,ri=1 ;
prin tf(“En terabin aryn umber:“);
scan f(“%ld ”,&bin );
in tb=b in ;
while(b in !=0 )
{
r=b in %10;
dec=d ec+r*I;
i=*2 ;
bin =b in /1 0;
}
prin tf(“Bin aryto d ecimal:%ld (B )=%ld (d )\n \n \n ”,b ,d ec);
retu rn 0 ;

}
vo id b _h ()
{
lo ngin tbin ,hex=0 ,ri=1 ;
prin tf(“En terabin aryn umber:“);
scan f(“%ld ”,&bin );
in tb=b in ;
while(b in !=0 )
{
r=b in %10;
hex=h ex+r*I;
i=*2 ;
bin =b in /1 0;
}
prin tf(“Bin aryto Hexad ecimal:%ld (B)=%lh x(h x)\n \n \n ”,b ,h ex);
retu rn 0 ;
}

vo id o _b ()
{
ch aroctaln um[5 0 ];
lo ngI=0 ;

prin tf(“En teran yoctaln umber:“);


scan f(“%s”,o ctaln um);
prin tf(“Eq uivalen tb in aryvlu e:“);
while(o ctaln um[i])
{
switch (o ctaln um[i])
{
case‘0 ’:
prin tf(“0 00”);
break;
case‘1 ’:
prin tf(“0 01”);
break;
case‘2 ’:
prin tf(“0 10”);
break;
case‘3 ’:
prin tf(“0 11”);
break;
case‘4 ’:
prin tf(“1 00”);
break;
case‘5 ’:
prin tf(“1 01”);
break;
case‘6 ’:
prin tf(“1 10”);
break;
case‘7 ’:
prin tf(“1 11”);
break;
defau lt:
prin tf(“in valid octald igt%c\n \n \n “,octaln um[i]);
retu rn 0 ;
}
i+ +;
}
retu rn 0 ;
}
vo id o _d ()
{
lo ngin toctal,decimal=0 ;
in tI=0;

prin tf(“En teran yoctaln umber:“);


scan f(“%ld ”,&octal);
while(o ctal!=0)
{
decimal=d ecimal+(o ctal%1 0)*pow(8 ,i+ +);
octal=octal/1 0;
}
prin tf(“Eq uivalen td ecimalvu e:%ld \n \n \n ”,d ecimal);
retu rn 0 ;
}
vo id o _h ()
{
in tOC TALVALU ES[]={0 ,1,10 ,11,10 0,101,1 10,11 1};

lo nglo ngoctal,emp Octal,bin ary,p lace;


ch arhex[6 5]=“”;
in trem;

place=1;
bin ary=0 ;

prin tf(“En teran yoctaln umber:“);


scan f(“%lld ”,&octal);
tempOctal=octal;

while(tmpOctal>0)
{
rem=temp Octal%10 ;
bin ary=(O CTALVA LUES[rem]*place)+b in ary;
t pOctal/=10;
em

place*=10 00;
}

while(b in ary>0)
{
rem=bin ary%100 00;
switch (rem)
{
case0:
strca(h ex,“0 ”);
break;
case1:
strca(h ex,“1 ”);
break;
case10:
strca(h ex,“2 ”);
break;
case11:
strca(h ex,“3 ”);
break;
case100 :
strca(h ex,“4 ”);
break;
case101 :
strca(h ex,“5 ”);
break;
case110 :
strca(h ex,“6 ”);
break;
case111 :
strca(h ex,“7 ”);
break;
case100 0:
strca(h ex,“8 ”);
break;
case100 1:
strca(h ex,“9 ”);
break;
case101 0:
strca(h ex,“A”);
break;
case101 1:
strca(h ex,“B”);
break;
case110 0:
strca(h ex,“C ”);
break;
case110 1:
strca(h ex,“D”);
break;
case111 0:
strca(h ex,“E”);
break;
case111 1:
strca(h ex,“F”);
break;
}

bin ary/=1 0000 ;


}

strev(h ex);

prin tf(“Octalnumber:%lld \n ”,octal);


prin tf(“Hexad ecimaln umber:%s”,hex);
prin tf(“n \n \n ”);

}
vo id d _b ()
{
in ta[1 0 ],n ,I;

prin tf(“En teraDecimaln umber:“);


scan f(“%d ”,&n);
fo r(i=0 ;n >0 ;i+ +)
{
a[i]=n %2 ;
n=n /2 ;
}
prin tf(“\n Bin aryo fGiven Nu mberis=“);
fo r(i=-1 ;i>=0 ;i-)
{
prin tf(“%d”,a[i]);
}

}
vo id d _o ()
{
lo ngd ecimaln um,remain der,q uotien t;
in toctalN umber[1 00],I=1,j;

prin tf(“En terh edecimalnumb er:“);


scan f(“%ld ”,&decimaln um);
quo tien t=decimaln um;
while(q uotien t!=0)
{
octalNu mber[i+ +]=q uotien t%8;
quo tien t=qu otien t/8 ;
}
prin tf(“Eq uivalen to ctalvu e“);
f r(j=I–1;j>0 ;j-)
o
prin tf(“%d”,octalN umber[j]);
prin tf(“n \n \n ”);
}
vo id d _h ()
{

in ta;
prin tf(“DecimalNu mberis:”);
scan f(“%d ”,&a);
prin tf(“hexad ecimalNumberis%x\n \n \n ”,a);

}
vo id h _b ()
{

ch arhexN um[1 0 0];


lo ngin tco unt=0 ;
prin tf(“En terahexad ecimalnumb erTo Con vetin to Bin ary:“);
scan f(“%s”,h exNum);
prin tf(“Bin aryNu mberis:“);
while(h exNum[co unt])
{
switch (h exNum[co unt])
{
case‘0 ’:
prin tf(“0 000 ”);
break;
c ’:
ase‘1
prin tf(“0 001 ”);
break;
case‘2 ’:
prin tf(“0 010 ”);
break;
case‘3 ’:
prin tf(“0 011 ”);
break;
case‘4 ’:
prin tf(“0 100 ”);
break;
case‘5 ’:
prin tf(“0 101 ”);
break;
case‘6 ’:
prin tf(“0 110 ”);
break;
case‘7 ’:
prin tf(“0 111 ”);
break;
case‘8 ’:
prin tf(“1 000 ”);
break;
case‘9 ’:
prin tf(“1 001 ”);
break;
case‘A’:
prin tf(“1 010 ”);
break;
case‘B’:
prin tf(“1 011 ”);
break;
case‘C ’:
prin tf(“1 100 ”);
break;
case‘D’:
prin tf(“1 101 ”);
break;
case‘E’:
prin tf(“1 110 ”);
break;
case‘F’:
prin tf(“1 111 ”);
break;
case‘’:
prin tf(“1 010 ”);
break;
case‘b ’:
prin tf(“1 011 ”);
break;
case‘’:
prin tf(“1 100 ”);
break;
case‘d ’:
prin tf(“1 101 ”);
break;
case‘’:
prin tf(“1 110 ”);
break;
case‘f’:
prin tf(“1 111 ”);
break;
defau lt:
prin tf(“In valid En try,P leasTryAgain %c\n \n \n \n \n ”,h exNum[co unt]);
}
co un t+ +;
}

vo id h _o ()
{
in ta;
prin tf(“Hexad ecimalNumberis:”);
scan f(“%x”,&a);
prin tf(“octalNumberis%o\n \n \n ”,a);
}
vo id h _d ()
{

in ta;
prin tf(“Hexad ecimalNumberis:”);
scan f(“%x”,&a);
prin tf(“DecimalNu mberis%d \n \n \n ”,a);

in tmain ()
{
in to=1 ,n;

while(n =1 )
{
n =men u(n );
if(n =0 )
retu rn 0 ;
}
retu rn 0 ;
}#in clu d e<std io .h >
#in clu d e<std lib .h >

in tmen u(in tn)


{
prin tf(“*-\n ”);
prin tf(“Availb leTask\n ”);
prin tf(“*-\n ”);
prin tf(“*\n ”);

prin tf(“1.Bin aryto Octal\n ”);


prin tf(“2.Bin aryto Decimal\n ”);
prin tf(“3.Bin aryto Hexad ecimal\n ”);
prin tf(“4.Octalo B in ary\n ”);
prin tf(“5.Octalo Decimal\n ”);
prin tf(“6.Octalo Hexad ecimal\n ”);
prin tf(“7.Decimalto Bin ary\n ”);
prin tf(“8.Decimalto Octal\n ”);
prin tf(“9.Decimalto Hexad ecimal\n ”);
prin tf(“10.Hexad ecimalto Bin ary\n ”);
prin tf(“11.Hexad ecimalto Octal\n ”);
prin tf(“12.Hexad ecimalto Decimal\n ”);
prin tf(“0.Exit\n ”);
prin tf(“*\n \n ”);
prin tf(“Choice:”);

in to;
scan f(“%d ”,&o);

if(o =1 )
b_o ();

elsif(o =2 )
b_d ();

elsif(o =3 )
b_h ();

elsif(o =4 )
o_b ();

elsif(o =5 )
o_d ();

elsif(o =6 )
o_h ();

elsif(o =7 )
d_b ();

elsif(o =8 )
d_o ();

elsif(o =9 )
d_h ();
elsif(o =1 0 )
h_b ();

elsif(o =1 1 )
h_o ();

elsif(o =1 2 )
h_d ();
elsif(o =0 )
retu rn 0 ;

elsif(o <1 |o >1 2)


prin tf(“In valid In p ut!\n ”);

prin tf(“*\n ”);


prin tf(“1.Main Men u\n ”);
prin tf(“0.Exit\n ”);
prin tf(“*\n ”);
prin tf(“);

scan f(“%d ”,&n);


sytem(“cls”);
retu rn n ;
}

vo id b _o ()
{

lo ngin tbin ,oct=0 ,ri=1 ;


prin tf(“En terabin aryn umber:“);
scan f(“%ld ”,&bin );
in tb=b in ;
while(b in !=0 )
{
r=b in %10;
oct=o ct+r*I;
i=*2 ;
bin =b in /1 0;
}
prin tf(“Bin aryto Octal:%ld (B)=%lo (O)\n ”,b ,o ct);
}

vo id b _d ()
{
lo ngin tbin ,dec=0 ,ri=1 ;
prin tf(“En terabin aryn umber:“);
scan f(“%ld ”,&bin );
in tb=b in ;
while(b in !=0 )
{
r=b in %10;
dec=d ec+r*I;
i=*2 ;
bin =b in /1 0;
}
prin tf(“Bin aryto d ecimal:%ld (B )=%ld (d )\n \n \n ”,b ,d ec);
retu rn 0 ;

}
vo id b _h ()
{
lo ngin tbin ,hex=0 ,ri=1 ;
prin tf(“En terabin aryn umber:“);
scan f(“%ld ”,&bin );
in tb=b in ;
while(b in !=0 )
{
r=b in %10;
hex=h ex+r*I;
i=*2 ;
bin =b in /1 0;
}
prin tf(“Bin aryto Hexad ecimal:%ld (B)=%lh x(h x)\n \n \n ”,b ,h ex);
retu rn 0 ;
}

vo id o _b ()
{
ch aroctaln um[5 0 ];
lo ngI=0 ;

prin tf(“En teran yoctaln umber:“);


scan f(“%s”,o ctaln um);
prin tf(“Eq uivalen tb in aryvlu e:“);
while(o ctaln um[i])
{
switch (o ctaln um[i])
{
case‘0 ’:
prin tf(“0 00”);
break;
case‘1 ’:
prin tf(“0 01”);
break;
case‘2 ’:
prin tf(“0 10”);
break;
case‘3 ’:
prin tf(“0 11”);
break;
case‘4 ’:
prin tf(“1 00”);
break;
case‘5 ’:
prin tf(“1 01”);
break;
case‘6 ’:
prin tf(“1 10”);
break;
case‘7 ’:
prin tf(“1 11”);
break;
defau lt:
prin tf(“in valid octald igt%c\n \n \n “,octaln um[i]);
retu rn 0 ;
}
i+ +;
}
retu rn 0 ;
}
vo id o _d ()
{
lo ngin toctal,decimal=0 ;
in tI=0;

prin tf(“En teran yoctaln umber:“);


scan f(“%ld ”,&octal);
while(o ctal!=0)
{
decimal=d ecimal+(o ctal%1 0)*pow(8 ,i+ +);
octal=octal/1 0;
}
prin tf(“Eq uivalen td ecimalvu e:%ld \n \n \n ”,d ecimal);
retu rn 0 ;
}
vo id o _h ()
{
in tOC TALVALU ES[]={0 ,1,10 ,11,10 0,101,1 10,11 1};

lo nglo ngoctal,emp Octal,bin ary,p lace;


ch arhex[6 5]=“”;
in trem;

place=1;
bin ary=0 ;

prin tf(“En teran yoctaln umber:“);


scan f(“%lld ”,&octal);
tempOctal=octal;

while(tmpOctal>0)
{
rem=temp Octal%10 ;
bin ary=(O CTALVA LUES[rem]*place)+b in ary;
tempOctal/=10;

place*=10 00;
}

while(b in ary>0)
{
rem=bin ary%100 00;
switch (rem)
{
case0:
strca(h ex,“0 ”);
break;
c
ase1:
strca(h ex,“1 ”);
break;
case10:
strca(h ex,“2 ”);
break;
case11:
strca(h ex,“3 ”);
break;
case100 :
strca(h ex,“4 ”);
break;
case101 :
strca(h ex,“5 ”);
break;
case110 :
strca(h ex,“6 ”);
break;
case111 :
strca(h ex,“7 ”);
break;
case100 0:
strca(h ex,“8 ”);
break;
case100 1:
strca(h ex,“9 ”);
break;
case101 0:
strca(h ex,“A”);
break;
case101 1:
strca(h ex,“B”);
break;
case110 0:
strca(h ex,“C ”);
break;
case110 1:
strca(h ex,“D”);
break;
case111 0:
strca(h ex,“E”);
break;
case111 1:
strca(h ex,“F”);
break;
}

bin ary/=1 0000 ;


}

strev(h ex);

prin tf(“Octalnumber:%lld \n ”,octal);


prin tf(“Hexad ecimaln umber:%s”,hex);
prin tf(“n \n \n ”);

}
vo id d _b ()
{
in ta[1 0 ],n ,I;

prin tf(“En teraDecimaln umber:“);


s f(“%d ”,&n);
can
fo r(i=0 ;n >0 ;i+ +)
{
a[i]=n %2 ;
n=n /2 ;
}
prin tf(“\n Bin aryo fGiven Nu mberis=“);
fo r(i=-1 ;i>=0 ;i-)
{
prin tf(“%d”,a[i]);
}

}
vo id d _o ()
{
lo ngd ecimaln um,remain der,q uotien t;
in toctalN umber[1 00],I=1,j;

prin tf(“En terh edecimalnumb er:“);


scan f(“%ld ”,&decimaln um);
quo tien t=decimaln um;
while(q uotien t!=0)
{
octalNu mber[i+ +]=q uotien t%8;
quo tien t=qu otien t/8 ;
}
prin tf(“Eq uivalen to ctalvu e“);
fo r(j=I–1;j>0 ;j-)
prin tf(“%d”,octalN umber[j]);
prin tf(“n \n \n ”);
}
vo id d _h ()
{

in ta;
prin tf(“DecimalNu mberis:”);
scan f(“%d ”,&a);
prin tf(“hexad ecimalNumberis%x\n \n \n ”,a);

}
vo id h _b ()
{

c arhexN um[1 0 0];


h
lo ngin tco unt=0 ;
prin tf(“En terahexad ecimalnumb erTo Con vetin to Bin ary:“);
scan f(“%s”,h exNum);
prin tf(“Bin aryNu mberis:“);
while(h exNum[co unt])
{
switch (h exNum[co unt])
{
case‘0 ’:
prin tf(“0 000 ”);
break;
case‘1 ’:
prin tf(“0 001 ”);
break;
case‘2 ’:
prin tf(“0 010 ”);
break;
case‘3 ’:
prin tf(“0 011 ”);
break;
case‘4 ’:
prin tf(“0 100 ”);
break;
case‘5 ’:
prin tf(“0 101 ”);
break;
case‘6 ’:
prin tf(“0 110 ”);
break;
case‘7 ’:
prin tf(“0 111 ”);
break;
case‘8 ’:
prin tf(“1 000 ”);
break;
case‘9 ’:
prin tf(“1 001 ”);
break;
case‘A’:
prin tf(“1 010 ”);
break;
case‘B’:
prin tf(“1 011 ”);
break;
case‘C ’:
prin tf(“1 100 ”);
break;
case‘D’:
prin tf(“1 101 ”);
break;
case‘E’:
prin tf(“1 110 ”);
break;
case‘F’:
prin tf(“1 111 ”);
break;
case‘’:
prin tf(“1 010 ”);
break;
case‘b ’:
prin tf(“1 011 ”);
break;
case‘’:
prin tf(“1 100 ”);
break;
case‘d ’:
prin tf(“1 101 ”);
break;
case‘’:
prin tf(“1 110 ”);
break;
case‘f’:
prin tf(“1 111 ”);
break;
defau lt:
prin tf(“In valid En try,P leasTryAgain %c\n \n \n \n \n ”,h exNum[co unt]);
}
co un t+ +;
}

vo id h _o ()
{
in ta;
prin tf(“Hexad ecimalNumberis:”);
scan f(“%x”,&a);
prin tf(“octalNumberis%o\n \n \n ”,a);
}
vo id h _d ()
{

i ta;
n
prin tf(“Hexad ecimalNumberis:”);
scan f(“%x”,&a);
prin tf(“DecimalNu mberis%d \n \n \n ”,a);

in tmain ()
{
in to=1 ,n;

while(n =1 )
{
n =men u(n );
if(n =0 )
retu rn 0 ;
}
retu rn 0 ;
}#in clu d e<std io .h >
#in clu d e<std lib .h >

in tmen u(in tn)


{
prin tf(“*-\n ”);
prin tf(“Availb leTask\n ”);
prin tf(“*-\n ”);
prin tf(“*\n ”);

prin tf(“1.Bin aryto Octal\n ”);


prin tf(“2.Bin aryto Decimal\n ”);
prin tf(“3.Bin aryto Hexad ecimal\n ”);
prin tf(“4.Octalo B in ary\n ”);
prin tf(“5.Octalo Decimal\n ”);
prin tf(“6.Octalo Hexad ecimal\n ”);
prin tf(“7.Decimalto Bin ary\n ”);
prin tf(“8.Decimalto Octal\n ”);
prin tf(“9.Decimalto Hexad ecimal\n ”);
prin tf(“10.Hexad ecimalto Bin ary\n ”);
prin tf(“11.Hexad ecimalto Octal\n ”);
prin tf(“12.Hexad ecimalto Decimal\n ”);
prin tf(“0.Exit\n ”);
prin tf(“*\n \n ”);
prin tf(“Choice:”);

in to;
scan f(“%d ”,&o);

if(o =1 )
b_o ();

elsif(o =2 )
b_d ();

elsif(o =3 )
b_h ();

elsif(o =4 )
o_b ();

elsif(o =5 )
o_d ();

elsif(o =6 )
o_h ();

elsif(o =7 )
d_b ();

elsif(o =8 )
d_o ();

elsif(o =9 )
d_h ();
elsif(o =1 0 )
h_b ();

elsif(o =1 1 )
h_o ();

elsif(o =1 2 )
h_d ();
elsif(o =0 )
retu rn 0 ;

elsif(o <1 |o >1 2)


prin tf(“In valid In p ut!\n ”);

prin tf(“*\n ”);


prin tf(“1.Main Men u\n ”);
prin tf(“0.Exit\n ”);
prin tf(“*\n ”);
prin tf(“);

scan f(“%d ”,&n);


sytem(“cls”);
retu rn n ;
}

vo id b _o ()
{

lo ngin tbin ,oct=0 ,ri=1 ;


prin tf(“En terabin aryn umber:“);
scan f(“%ld ”,&bin );
in tb=b in ;
while(b in !=0 )
{
r=b in %10;
oct=o ct+r*I;
i=*2 ;
bin =b in /1 0;
}
prin tf(“Bin aryto Octal:%ld (B)=%lo (O)\n ”,b ,o ct);
}

vo id b _d ()
{
lo ngin tbin ,dec=0 ,ri=1 ;
prin tf(“En terabin aryn umber:“);
scan f(“%ld ”,&bin );
i tb=b in ;
n
while(b in !=0 )
{
r=b in %10;
dec=d ec+r*I;
i=*2 ;
bin =b in /1 0;
}
prin tf(“Bin aryto d ecimal:%ld (B )=%ld (d )\n \n \n ”,b ,d ec);
retu rn 0 ;

}
vo id b _h ()
{
lo ngin tbin ,hex=0 ,ri=1 ;
prin tf(“En terabin aryn umber:“);
s f(“%ld ”,&bin );
can
in tb=b in ;
while(b in !=0 )
{
r=b in %10;
hex=h ex+r*I;
i=*2 ;
bin =b in /1 0;
}
prin tf(“Bin aryto Hexad ecimal:%ld (B)=%lh x(h x)\n \n \n ”,b ,h ex);
retu rn 0 ;
}

vo id o _b ()
{
ch aroctaln um[5 0 ];
lo ngI=0 ;

prin tf(“En teran yoctaln umber:“);


scan f(“%s”,o ctaln um);
prin tf(“Eq uivalen tb in aryvlu e:“);
while(o ctaln um[i])
{
switch (o ctaln um[i])
{
case‘0 ’:
prin tf(“0 00”);
break;
case‘1 ’:
prin tf(“0 01”);
break;
c ’:
ase‘2
prin tf(“0 10”);
break;
case‘3 ’:
prin tf(“0 11”);
break;
case‘4 ’:
prin tf(“1 00”);
break;
case‘5 ’:
prin tf(“1 01”);
break;
case‘6 ’:
prin tf(“1 10”);
break;
case‘7 ’:
prin tf(“1 11”);
break;
defau lt:
prin tf(“in valid octald igt%c\n \n \n “,octaln um[i]);
retu rn 0 ;
}
i+ +;
}
retu rn 0 ;
}
vo id o _d ()
{
lo ngin toctal,decimal=0 ;
in tI=0;

prin tf(“En teran yoctaln umber:“);


scan f(“%ld ”,&octal);
while(o ctal!=0)
{
decimal=d ecimal+(o ctal%1 0)*pow(8 ,i+ +);
octal=octal/1 0;
}
prin tf(“Eq uivalen td ecimalvu e:%ld \n \n \n ”,d ecimal);
retu rn 0 ;
}
vo id o _h ()
{
in tOC TALVALU ES[]={0 ,1,10 ,11,10 0,101,1 10,11 1};

lo nglo ngoctal,emp Octal,bin ary,p lace;


ch arhex[6 5]=“”;
in trem;

place=1;
bin ary=0 ;

prin tf(“En teran yoctaln umber:“);


scan f(“%lld ”,&octal);
tempOctal=octal;

while(tmpOctal>0)
{
rem=temp Octal%10 ;
bin ary=(O CTALVA LUES[rem]*place)+b in ary;
t pOctal/=10;
em

place*=10 00;
}

while(b in ary>0)
{
rem=bin ary%100 00;
switch (rem)
{
case0:
strca(h ex,“0 ”);
break;
case1:
strca(h ex,“1 ”);
break;
c
ase10:
strca(h ex,“2 ”);
break;
case11:
strca(h ex,“3 ”);
break;
case100 :
strca(h ex,“4 ”);
break;
case101 :
strca(h ex,“5 ”);
break;
case110 :
strca(h ex,“6 ”);
break;
case111 :
strca(h ex,“7 ”);
break;
case100 0:
strca(h ex,“8 ”);
break;
case100 1:
strca(h ex,“9 ”);
break;
case101 0:
strca(h ex,“A”);
break;
case101 1:
strca(h ex,“B”);
break;
case110 0:
strca(h ex,“C ”);
break;
case110 1:
strca(h ex,“D”);
break;
case111 0:
strca(h ex,“E”);
break;
case111 1:
strca(h ex,“F”);
break;
}

bin ary/=1 0000 ;


}

strev(h ex);

prin tf(“Octalnumber:%lld \n ”,octal);


prin tf(“Hexad ecimaln umber:%s”,hex);
prin tf(“n \n \n ”);

}
vo id d _b ()
{
in ta[1 0 ],n ,I;

prin tf(“En teraDecimaln umber:“);


scan f(“%d ”,&n);
fo r(i=0 ;n >0 ;i+ +)
{
a[i]=n %2 ;
n=n /2 ;
}
prin tf(“\n Bin aryo fGiven Nu mberis=“);
fo r(i=-1 ;i>=0 ;i-)
{
prin tf(“%d”,a[i]);
}

}
vo id d _o ()
{
lo ngd ecimaln um,remain der,q uotien t;
in toctalN umber[1 00],I=1,j;

prin tf(“En terh edecimalnumb er:“);


s f(“%ld ”,&decimaln um);
can
quo tien t=decimaln um;
while(q uotien t!=0)
{
octalNu mber[i+ +]=q uotien t%8;
quo tien t=qu otien t/8 ;
}
prin tf(“Eq uivalen to ctalvu e“);
fo r(j=I–1;j>0 ;j-)
prin tf(“%d”,octalN umber[j]);
prin tf(“n \n \n ”);
}
vo id d _h ()
{

i ta;
n
prin tf(“DecimalNu mberis:”);
scan f(“%d ”,&a);
prin tf(“hexad ecimalNumberis%x\n \n \n ”,a);

}
vo id h _b ()
{

ch arhexN um[1 0 0];


lo ngin tco unt=0 ;
prin tf(“En terahexad ecimalnumb erTo Con vetin to Bin ary:“);
s f(“%s”,h exNum);
can
prin tf(“Bin aryNu mberis:“);
while(h exNum[co unt])
{
switch (h exNum[co unt])
{
case‘0 ’:
prin tf(“0 000 ”);
break;
case‘1 ’:
prin tf(“0 001 ”);
break;
case‘2 ’:
prin tf(“0 010 ”);
break;
case‘3 ’:
prin tf(“0 011 ”);
break;
case‘4 ’:
prin tf(“0 100 ”);
break;
case‘5 ’:
prin tf(“0 101 ”);
break;
case‘6 ’:
prin tf(“0 110 ”);
break;
case‘7 ’:
prin tf(“0 111 ”);
break;
case‘8 ’:
prin tf(“1 000 ”);
break;
case‘9 ’:
prin tf(“1 001 ”);
break;
case‘A’:
prin tf(“1 010 ”);
break;
case‘B’:
prin tf(“1 011 ”);
break;
case‘C ’:
prin tf(“1 100 ”);
break;
case‘D’:
prin tf(“1 101 ”);
break;
case‘E’:
prin tf(“1 110 ”);
break;
case‘F’:
prin tf(“1 111 ”);
break;
case‘’:
prin tf(“1 010 ”);
break;
case‘b ’:
prin tf(“1 011 ”);
break;
case‘’:
prin tf(“1 100 ”);
break;
case‘d ’:
prin tf(“1 101 ”);
break;
case‘’:
prin tf(“1 110 ”);
break;
case‘f’:
prin tf(“1 111 ”);
break;
defau lt:
prin tf(“In valid En try,P leasTryAgain %c\n \n \n \n \n ”,h exNum[co unt]);
}
co un t+ +;
}

vo id h _o ()
{
in ta;
prin tf(“Hexad ecimalNumberis:”);
scan f(“%x”,&a);
prin tf(“octalNumberis%o\n \n \n ”,a);
}
vo id h _d ()
{

in ta;
prin tf(“Hexad ecimalNumberis:”);
scan f(“%x”,&a);
prin tf(“DecimalNu mberis%d \n \n \n ”,a);

in tmain ()
{
in to=1 ,n;

while(n =1 )
{
n =men u(n );
if(n =0 )
r rn 0 ;
etu
}
retu rn 0 ;
}

You might also like