大小端模式

大小端模式定义

百度百科:

大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;
小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。
这两种模式,泥瓦匠记忆宫殿:“小端低低”。这样就知道小端的模式,反之大端的模式。

比如整形十进制数字: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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章