十进制转十六进制(c语言实现)

#includ<stdio.h>

int main()
{
	char str[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
	char data[100];
	printf("Input a number:\n");
	int n,m,i=0;
	scanf("%d",&n);

	while(n!=0)
	{
		m=n &amp; 0xf;
		data[i]=str[m];
		n=n &gt;&gt; 4;
		i++;
	}
	data[i]='\0';

	for(--i;i>=0;i--)
	{
		printf("%c",data[i]);
	}
	printf("\n");
	return 0;
} 其中不得不提的是,m=n & 0xf(除16取余)n=n >> 4(除16取商,右移4位),这样能够提高程序的执行效率,面试经常被问到的问题。
yava /
in categories tagged with