本帖最后由 ZOUWEN1 于 2013-2-21 21:39 编辑
测试源代码:
#include "stdafx.h"
/* 假定unsigned int 是16bit, hex[4]是存贮转换的结果*/
void TentoSixteen(unsigned int nx, unsigned char hex[4])
{
unsigned char i=0;
for (i=0;i<4;i++)
{
*(hex+i) = unsigned char (nx&0x0F); /*从低到高存贮16#的数据*/
nx>>=4;
}
}
int main(int argc, char* argv[])
{
unsigned int xx = 1345;
unsigned char result[4],i;
TentoSixteen(xx,result);
for (i=0;i<4;i++)
printf("result[%d]=%d\n",i,result);
return 0;
}
在VC上运行测试的结果:
result[0]=1
result[1]=4
result[2]=5
result[3]=0
Press any key to continue 通过WINDOWS带的计算器,1345 = 0x541;英文名字是借用1楼的。
|