Saturday, August 7, 2010

C Code to convert from decimal to any base Like binary, hex, oct

/* Here we use a single function which can be used to convert a decimal number to any base */

#include
void  DecimalToAnybase(int n, int base);
/*n is decimal no & base indicates to which form the decimal no has to get changed*/
#define HEXADECIMAL  16
#define BINARY                2
#define OCTAL                  8
int main()
{
       DecimalToAnybase(10, BINARY);
      
DecimalToAnybase(255, OCTAL);
        getch();
}
  void 
DecimalToAnybase(int n, int base)
       {
           int i, m, digits[1000], flag;
           i=0;
           printf("\n\n[%d] converted to base [%d] : ", n, base);
           while(n)
           {
                m=n%base;
                digits[i]="0123456789abcdefghijklmnopqrstuvwxyz"[m];
                n=n/base;
                i++;
            }
         / /Eliminate any leading zeroes
           for(i--;i>=0;i--)
           {
              if(!flag && digits[i]!='0')flag=1;
              if(flag)printf("%c",digits[i]);
            }
          }

No comments:

counter