一、16位高低位转换
1 quint16 highAndLowConversion_16quint16 data) 2 { 3 return data & ox00ff) << 8) | data >> 8); 4 }
二、32位高低位转换
1 quint32 highAndLowConversion_32quint32 data) 2 { 3 return data & 0x0000ffff) << 16) | data >> 16); 4 }
三、获取32位的高16位
1 quint16 get32BitHigh16Bitquint32 data) 2 { 3 return data & 0xffff0000) >> 16; 4 }
四、获取32位的低16位
1 quint16 get32BitLow16Bitquint32 data) 2 { 3 return data & 0x0000ffff; 4 }
五、交换32位高低16位,并且交换16位中的高低8位,如下两种方式:
int Global::Conversion_32int data) { int H = data & 0xffff0000) >> 16; int L = data & 0x0000ffff; int H_16bit = H & 0x00ff) << 8) | H >> 8); int L_16bit = L & 0x00ff) << 8) | L >> 8); return L_16bit << 16 | H_16bit; } int Global::Con_32To_16bitTo_8bitint data) { int n32 = data & 0x0000ffff) << 16) | data >> 16); return n32 & 0x00ff) << 8) | n32 >> 8); }