Thursday 3 October 2013

Converting an Octal to Decimal or Decimal to Octal using C

#include<stdio.h>
#include<math.h>
int binary_decimal(int n);
int decimal_binary(int n);
main()
{
int n;
char c;
printf("Instructions:\n");
printf("1. Enter alphabet 'd' to convert octal to decimal.\n");
printf("2. Enter alphabet 'o' to convert decimal to octal.\n");
scanf("%c",&c);

if (c =='d' || c == 'D')
{
printf("Enter a octal number: ");
scanf("%d", &n);
printf("%d in octal = %d in decimal", n, octal_decimal(n));
}

if (c =='0' || c == 'O')
{
printf("Enter a decimal number: ");
scanf("%d", &n);
printf("%d in decimal = %d in octal", n, decimal_octal(n));
}
}

int decimal_octal(int n) /* Function to convert decimal to octal.*/
{
int rem, i=1, octal=0;
while (n!=0)
{
rem=n%8;
n/=8;
octal+=rem*i;
i*=10;
}
return octal;
}

int octal_decimal(int n) /* Function to convert octal to decimal.*/
{
int decimal=0, i=0, rem;
while (n!=0)
{
rem = n%10;
n/=10;
decimal += rem*pow(8,i);
++i;
}
return decimal;
}

No comments:

Post a Comment