網路程式設計高低位元組顛倒

2021-10-03 14:50:52 字數 851 閱讀 9265

接收一堆數,有些需要顛倒位元組,比如

u8  jieshou_data[1000];

收到的數扔到這個陣列裡,但是裡面有些數需要顛倒後,再給應用使用。

查查網上:

short型:

unsigned short swapshort16(unsigned short shortvalue)

int 型(原理都一樣!):

int swapint32(int intvalue)

本博主自己改造如下:

void swap16(uint16_t *shortvalue)

void swap32(uint32_t *intvalue)

int swap(uint16_t type, uint8_t *data, uint16_t length, uint16_t offset)

swap16((uint16_t *)&data[offset]);

} else if (type == 32)

swap32((uint32_t *)&data[offset]);

} else

return 0;

}測試:

uint8_t data[10] = ;

swap(16,data,sizeof(data),1);

swap(32,data,sizeof(data),3);

swap(16,data,sizeof(data),5);

swap(32,data,sizeof(data),6);

swap(32,data,sizeof(data),7);

誰看到覺得有bug,幫忙指出。

演算法 位元組高低位交換

對乙個位元組資料,逐個交換其高低位,例如11010001,經過0 7,1 6,2 5,3 4對應位的交換,變成10001011 對於該問題,我們最先想到的是對原位元組通過移位操作來逐位處理,使用另乙個變數來儲存交換後的結果。這種解決方案處理起來思路清晰,編寫 應該不難。下面是該思路對應的 unsig...

演算法 位元組高低位交換

問題 對乙個位元組資料,逐個交換其高低位,例如11010001,經過0 7,1 6,2 5,3 4對應位的交換,變成10001011 解決思路 對於該問題,我們最先想到的是對原位元組通過移位操作來逐位處理,使用另乙個變數來儲存交換後的結果。這種解決方案處理起來思路清晰,編寫 應該不難。下面是該思路對...

演算法 位元組高低位交換

對乙個位元組資料,逐個交換其高低位,例如11010001,經過0 7,1 6,2 5,3 4對應位的交換,變成10001011 對於該問題,我們最先想到的是對原位元組通過移位操作來逐位處理,使用另乙個變數來儲存交換後的結果。這種解決方案處理起來思路清晰,編寫 應該不難。下面是該思路對應的 cpp v...