假设你的四字节无符号数为serial,则:
serial1=(serial>>16);
serial1=(short)(serial);

解决方案 »

  1.   

    这个可以按照下面方式来做UINT   uiTotal = 0;USHORT   serial1 = 12;USHORT   serial2 = 88;uiTotal = ( ( (uiTotal >> 16) & serial1 ) << 16 ) & 0xFFFF0000;uiTotal = uiTotal & ( 0xFFFF0000 | serial2 );
      

  2.   

    假设你的四字节无符号数为serial,则: 
    serial=serial1; 
    serial=(serial<<16)+serial2;前面把题目看错了
      

  3.   

    #define MAKELONG(a, b) ((LONG)(((WORD)(a)) | ((DWORD)((WORD)(b))) < < 16)) 
      

  4.   

    #define LOWORD(L)     ((WORD)(L))
    #define HIWORD(L)     ((WORD)(((DWORD)(L) >> 16) & 0xFFFF))
      

  5.   

    高效的方法serial1=12 
    serial2=88 
    UINT uu;((UINT16*)(&uu))[0] = serial1;
    ((UINT16*)(&uu))[1] = serial2;
      

  6.   

    //一个4字节无符号的UINT  需要高16位写序号1 后16位写序号2 
    //请问怎么写 UINT i = 0x8812;
    UINT serial1 = i >> 16;  //88
    UINT serial2 = i & 0xff; //12