void puthex(unsigned int val)
{
/*0x123abcd*/
int i;
int j;
printf("0x");
for(i=0;i<8;i++)
{
j = (val >> (7-i)*4) & 0xf; //从高到低每四位二进制
if((j <= 9) && (j >= 0))
printf("%c",'0' + j);
else
printf("%c",'A' + j - 0xA);
}
}