#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#define SIZE sizeof(unsigned)* CHAR_BIT
//#define DEBUG
int main(void){
char digits[]={'0', '1', '2', '3', '4', '5', '6', '7', '8',
'9', 'A', 'B', 'C', 'D', 'E', 'F'};
char ret[SIZE] = {0};
unsigned n, b;
printf("Enter a Positive number? " );
scanf("%u", &n);
printf("Enter Base? " );
scanf("%u", &b);
int i=0;
do{
ret[i++] = n%b;
n /=b;
}while (n>0);
#ifdef DEBUG
for (i=0; i<SIZE;i++)
printf("%i", ret[i]);
printf("\n");
#endif
// SWAP:
for (i=0; i<SIZE/2;i++){
int tmp=ret[i];
ret[i] = ret[SIZE-i-1];
ret[SIZE-i-1] = tmp;
}
for (i=0; i<SIZE;i++)
printf("%c", digits[ret[i]]);
printf("\n");
return 0;
}
14 July 2010
Get bases for decimal nubmers
Labels:
binary,
c,
conversion,
hex
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment