我定义了u8 buffer[6],现在要把buffer[5],buffer[4],buffer[3],buffer[2]这四个八位数据重新组合成一个32位数据,例如buff...

2019-08-14 03:38发布

我定义了u8 buffer[6],现在要把buffer[5],buffer[4],buffer[3],buffer[2]这四个八位数据重新组合成一个32位数据,例如buffer[5]=0xAA,buffer[5]=0xCD,buffer[5]=0xEF,buffer[5]=0x12,要得到0XAACDEF12,要怎么样写啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
ADS1993
2019-08-14 08:08
buffer[5],buffer[4],buffer[3],buffer[2]这四个八位数据重新组合成一个32位数据

以上这句可以这样实现:
[mw_shl_code=c,true]void u8_to_u32(char *tamube_u8,int *tamube_u32,int number,int position)
     {
       int j = 0;
       for(int i=0;i<number;i++)
       {
         tamube_u32=((int)(tamube_u8[position+j+0]<<24)|(int)(tamube_u8[position+j+1]<<16)|(int)(tamube_u8[position+j+2]<<8)|(int)(tamube_u8[position+j+3]));
         j  =  j + 4;
       }
     }[/mw_shl_code]

一周热门 更多>