大小端模式

大小端模式定義

百度百科:

大端模式,是指數據的高字節保存在內存的低地址中,而數據的低字節保存在內存的高地址中,這樣的存儲模式有點兒類似於把數據當作字符串順序處理:地址由小向大增加,而數據從高位往低位放;
小端模式,是指數據的高字節保存在內存的高地址中,而數據的低字節保存在內存的低地址中,這種存儲模式將地址的高低和數據位權有效地結合起來,高地址部分權值高,低地址部分權值低,和我們的邏輯方法一致。
這兩種模式,泥瓦匠記憶宮殿:“小端低低”。這樣就知道小端的模式,反之大端的模式。

比如整形十進制數字:305419896 ,轉化爲十六進制表示 : 0x12345678 。其中按着十六進制的話,每兩位佔8個字節。如圖:

iostream

引申

stm32 flash存儲方式爲小端模式。

GSM模塊傳輸數據時,先傳低八位還時先傳高八位可採用如下宏定義處理:

//此爲16位無符號整型數據處理方法,32位同理
#put_uint16_t(buf, wire_offset, b) byte_copy_2(&buf[wire_offset], (const char *)&b)

void byte_copy_2(char *dst, const char *src)
{
    dst[0] = src[0];
    dst[1] = src[1];
}

void byte_swap_2(char *dst, const char *src)
{
    dst[0] = src[1];
    dst[1] = src[0];
}
發佈了37 篇原創文章 · 獲贊 28 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章