Welcome! Share code as fast as possible.
- Use the language picker to change the language manually.
- The previous link will get modified. You can then share this new link with others.
- Visit
https://code-dump.vercel.app/<extension>
- For example, to create a link which for a JavaScript code you will visit
https://code-dump.vercel.app/js
Any link generated does not have an expiry.
GitHub
#include <stdio.h>
#include <math.h>
#include <string.h>
int dtb(int d);
int dto(int d);
void dth(int d);
int btd(int b);
int otd(int o);
int htd(char p[]);
int main()
{
int inp,mid,out;
char a,in[20],ou[20];
printf("a = BINARY TO DECIMAL\nb = BINARY TO OCTAL\nc = BINARY TO HEXADECIMAL\nd = DECIMAL TO BINARY\ne = DECIMAL TO OCTAL\nf = DECIMAL TO HEXADECIMAL\ng = OCTAL TO BINARY\nh = OCTAL TO DECIMAL\ni = OCTAL TO HEXADECIMAL\nj = HEXADECIMAL TO BINARY\nk = HEXADECIMAL TO OCTAL\nl = HEXADECIMAL TO DECIMAL\n\n\nEneter the function which you want to peform(number): ");
scanf("%c", &a);
switch(a)
{
case 'a':
printf("Enter Binary value: ");
scanf("%d" , &inp);
out = btd(inp);
printf("%d is its Decimal equivalent.",out);
break;
case 'b':
printf("Enter Binary value: ");
scanf("%d" , &inp);
mid = btd(inp);
out = dto(mid);
printf("%d is its Octal equivalent.",out);
break;
case 'c':
printf("Enter Binary value: ");
scanf("%d" , &inp);
mid = btd(inp);
dth(mid);
break;
case 'd':
printf("Enter Decimal value: ");
scanf("%d" , &inp);
out = dtb(inp);
printf("%d is its binary equivalent.",out);
break;
case 'e':
printf("Enter Decimal value: ");
scanf("%d" , &inp);
out = dto(inp);
printf("%d is its Octal equivalent.",out);
break;
case 'f':
printf("Enter Decimal value: ");
scanf("%d", &mid);
dth(mid);
break;
case 'g':
printf("Enter Octal value: ");
scanf("%d" , &inp);
mid = otd(inp);
out = dtb(mid);
printf("%d is its binary equivalent.",out);
break;
case 'h':
printf("Enter Octal value: ");
scanf("%d" , &inp);
out = otd(inp);
printf("%d is its Decimal equivalent.",out);
break;
case 'i':
printf("Enter Octal value: ");
scanf("%d" , &inp);
mid = otd(inp);
dth(mid);
break;
case 'j':
printf("Enter Hexadecimal value: ");
scanf("%s" , in);
mid = htd(in);
out = dtb(mid);
printf("%s is its binary equivalent.",dtb(htd(in)));
break;
case 'k':
printf("Enter Hexadecimal value: ");
scanf("%s" , in);
mid = htd(in);
out = dto(mid);
printf("%d is its Octal equivalent.",out);
break;
case 'l':
printf("Enter Hexadecimal value: ");
scanf("%s" , in);
out = htd(in);
printf("%d is its decimal equivalent.",out);
break;
default:
printf("Error!!!! Please try again.");
}
return 0;
}
int dtb(int d)
{
int sum = 0,i = 0;
while(d != 0 )
{
sum += (d%2)*pow(10,i);
i++;
d /= 2;
}
return sum;
}
int dto(int d)
{
int sum = 0,i = 0;
while(d != 0 )
{
sum += (d%8)*pow(10,i);
i++;
d /= 8;
}
return sum;
}
void dth(int d)
{
char ans[20],hexa[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','\0'};
int a,i = 0;
while(d != 0)
{
ans[i] = hexa[d%16];
i++;
d /= 16;
}
printf("%s is its Hexadecimal equivalent.",strrev(ans));
}
int btd(int b)
{
int sum = 0, i = 0;
while(b != 0)
{
sum += (b%10)*pow(2,i);
i++;
b /= 10;
}
return sum;
}
int otd(int o)
{
int sum = 0, i = 0;
while(o != 0)
{
sum += (o%10)*pow(8,i);
i++;
o /= 10;
}
return sum;
}
int htd(char p[])
{
int sum = 0,i;
for(i = strlen(p) - 1 ; i >=0 ; i--)
{
if(p[i] <= '9' && p[i] >= '0')
{
sum += (p[i] - 48)*pow(16,i);
}
else if(p[i] <= 'F' && p[i] >= 'A')
{
sum += (p[i] - 55)*pow(16,i);
}
}
return sum;
}