一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

一、16位高低位转换

1 quint16 highAndLowConversion_16(quint16 data)
2 {
3        return ((data & ox00ff) << 8) | (data >> 8);
4 }

 二、32位高低位转换

1 quint32 highAndLowConversion_32(quint32 data)
2 {
3       return ((data & 0x0000ffff) << 16) | (data >> 16);
4 }

 三、获取32位的高16位

1 quint16 get32BitHigh16Bit(quint32 data)
2 {
3       return (data & 0xffff0000) >> 16;
4 }

四、获取32位的低16位

1 quint16 get32BitLow16Bit(quint32 data)
2 {
3       return data & 0x0000ffff;
4 }

 五、交换32位高低16位,并且交换16位中的高低8位,如下两种方式:

 1 int Global::Conversion_32(int data)
 2 {
 3     int H = (data & 0xffff0000) >> 16;
 4     int L = data & 0x0000ffff;
 5     int H_16bit = ((H & 0x00ff) << 8) | (H >> 8);
 6     int L_16bit = ((L & 0x00ff) << 8) | (L >> 8);
 7 
 8     return  L_16bit << 16 | H_16bit;
 9 }
10 
11 
12 int Global::Con_32To_16bitTo_8bit(int  data)
13 {
14 
15     int n32 = ((data & 0x0000ffff) << 16) | (data >> 16);
16 
17     return ((n32 & 0x00ff) << 8) | (n32 >> 8);
18 }

 

posted on 2024-03-01 15:24  一杯清酒邀明月  阅读(291)  评论(0编辑  收藏  举报