基数変換

コマンドラインで10進、16進の変換を行う。

/*
 * radixtrans.c
 *
 * hex -> dewcimal
 * decimal -> hex
 *
 */

#include <stdio.h>

/*----------------------------------------------------------*/
main(int argc, char *argv[])
{
char	str[32];
int	number;

	while(1){
		printf("> ");
		scanf("%s", str);

		if(str[0] == 'q'){
			return;
		}
		else if((str[0] == '0') && (str[1] == 'x')){
			sscanf(&(str[2]), "%x", &number);
			printf("%d\n", number);
		}
		else{
			sscanf(str, "%d", &number);
			printf("0x%X\n", number);
		}
	}
}