200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 十进制数转换成十六进制数~C语言

十进制数转换成十六进制数~C语言

时间:2019-08-19 13:45:38

相关推荐

十进制数转换成十六进制数~C语言

#include <stdio.h>

/*****下面将整数a转换成十六进制输出的字符串*****/ /*****原理:1,首先知道0b100000 = 0b10000*2 = 0b1000*2 = 0b100*2 =0b10*2利用这一特性能将char型的数字转换成10进制表示,比如:0b1111转换成15 *****/ /***** 2,15以内的十进制数输出成十六进制数的字符串显示方法是:当0~9时,直接输出n+'0',其中n表示具体的十进制数;当10到15时,用‘a’+n-10 表示 *****/ /***** 3,在32位的芯片最大只能表示32位的二进制数 *****/ /***** 4,比如想要显示0XABCDEF99 ,先把A这个字符存进char数组,在把B存进char数组,以此类推,最后在char数组存进字符串结束符‘\0’ ****/ int sw1016(unsigned int a,char *p)

{

unsigned int mask=0x80000000;

int t=0;

int k=0;

int sum=0;

int c=2;

*(p+0)='0';

*(p+1)='X';

*(p+10)='\0';

for(k=0;k<8;k++)

{

for(t=0;t<4;t++)

{

if((a&mask)==mask)

{

sum=sum*2+1;

}

else

{

sum=sum*2+0;

}

a=a<<1;

}

if(sum<10)

p[c]=sum+'0';

else

p[c]='a'+sum-10;

sum=0;

c++;

}

return 0;

}

int main()

{

unsignedint in=486256;

char p[11];

sw1016(in,p);

printf("xen:%s",p);

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。