如何将unsigned int转成 16进制的 2个字符 的char?比如 unsigned int i=48469;
     char c[2];
     c[0]='0xBD';
     c[1]='0x55'怎么实现呢?因为太菜,想的头痛也没想出来~

解决方案 »

  1.   

    unsigned short us = i & 0xffff;
    memcpy(c,&i);
    --------or--------
    c[0] = (i >> 8) & 0xff;
    c[1] = i & 0xff;
      

  2.   

    int 是4个字节呀,就是4个char
    byte* pc=& i;
    pc[0],pc[1],pc[2],pc[3]是你想要的吗?
    c[0]='0xBD';
      

  3.   

    3楼说的对 但是我不知道怎么往一个char里存一个16进制
    1楼 理解了我的意思 呵呵 
    还有就是 unsigned short us = i & 0xffff;
             memcpy(c,&i);
    这个方法 我用memcpy时 提示要3个参数
    怎么回事呢