Write a C program to convert a positive number given in one


Write a C program to convert a positive number given in
one base to another base. For this problem,
assume that both bases are less
than or equal to 10. Consider the sample data:
number = 2010, base = 3, and new base = 4.
In this case, first convert 2010 in base 3 into the equivalent number in base
10 as follows:
(2) * (3^3) + (0 * 3^2) + (1 * 3) + (0) = 54 + 0 + 3 + 0 = 57
To c
onvert 57 to base 4, you need to find the remainders obtained by
dividing by 4, as shown in the
following:
57 % 4 = 1, quotient = 14
14 % 4 = 2, quotient = 3
3 % 4 = 3, quotient = 0.
Therefore, 57 in base 4 is 321

Solution

#include <stdio.h>
#include <math.h>

int main()
{
    int converted_number[100];
   long int number_to_convert;
   int next_digit, base,newbase, number10=0,rem=0,count=-1;

   /* get the number */
   printf(\"Enter number to convert :\");
   scanf(\"%ld\", &number_to_convert);

   /* get the base */
   printf(\"Enter base of number :\");
   scanf(\"%d\", &base);

   /* get the new base */
   printf(\"Enter new base of number :\");
   scanf(\"%d\", &newbase);

   //convert number frm provided base to base 10
int tmp = number_to_convert;
//fetch each digit of number by dividing it with base
   while (tmp != 0)
   {
      count++;
      //fetch each digit
      rem = tmp % 10;
      //multiply each digit with the equivalent base
      number10+=rem * pow(base,count);
      tmp = tmp / 10;
   }

   //convert base 10 number into required base
   //initialize tmp variables
   tmp=number10;
   count=-1;
   //fetch each digit by dividing with new base
   while(tmp!=0)
   {
       //get count of no of digits
       count++;
       //assign remainder of number when divided by new base
       converted_number[count]=tmp%newbase;
       tmp=tmp/newbase;
   }
   //print the mnumber in new base
   printf(\"%d in base %d is \",number_to_convert,newbase);
   //iterate in reverse order and display the no
   for(int i=count;i>=0;i--)
   {
       printf(\"%d\",converted_number[i]);
   }


}

 Write a C program to convert a positive number given in one base to another base. For this problem, assume that both bases are less than or equal to 10. Consid
 Write a C program to convert a positive number given in one base to another base. For this problem, assume that both bases are less than or equal to 10. Consid

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site