int型10进制转换为uint16型16进制,该如何处理

int型10进制转换为uint16型16进制
求助,要求:
int型10进制转换为uint16型16进制。
比如:
int a = 100;
得到:
uint16 内存储值为0x0064.
------解决方案--------------------
int a = 100;
uint16 U16;
CString str16;
U16=abs(a);
str16.Format("%x",U16);

------解决方案--------------------
楼上是显示字符串16进制样式的
其实直接存就可以了
uint16是unsigned short  2个字节

int是4个字节

但是因为你是100,只要1个字节行。
直接强转就能存
uint16 b =(unsigned short)a;
------解决方案--------------------
int a = 100;

uint16 b;

b=a;


------解决方案--------------------
强转吧
------解决方案--------------------
考虑到int的值(4字节)有可能超过 uint16 (2字节)的范围,强烈建议先取低16位再强制转换。

即:  uint16 b = (uint16)(a & 0xffff);