C语言 十进制数转化成十六进制代码:

  • Post author:
  • Post category:其他



代码:

#include<stdio.h>
#include<math.h>
int main()
{
	int i,s,n;
	char shul[10]=" ";
	scanf("%d",&n);
	{
		for(i=0;i<10;i++)
		{
			if(n==0) 
			{shul[0]=48;break;}
			if(n/(int)pow(16,(double)i)==0) break;
			s=n/(int)pow(16,(double)i)%16;//(int)pow(16,(double)i+1);
			if(s<10) shul[i]=s+48;
			else shul[i]=s+55;
		}				
	}
	for(i=9;i>-1;i--)
	{
		if(shul[i]!='\0')
		printf("%c",shul[i]);
	}
	return 0;
}



方法思路





与分离十进制数每一位上的数使用的方法相似   分离位数 是用该数对10 的n次



方取余或求商来计算的:


例: 分离 1234


个位:   1234%10


十位:   1234%100/10


百位:   1234%1000/100


千位:   1234/1000









同理: 将1234转化成十六进制 也就是分离出各位上的数





版权声明:本文为lox_J2原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。