单片机学习小组
直播中

手托初梦

9年用户 822经验值
擅长:可编程逻辑 嵌入式技术
私信 关注

怎样去判断C语言的大端小端呢

C语言在内存中存储有哪几种形式?
怎样去判断C语言的大端小端呢?

回帖(1)

徐歌

2022-2-25 11:25:24
整型数据0x12345678,其存储空间是4个字节,那么在内存中存储有以下两种可能的形式,


1278

3456
5634
7812

图1:小端法(左)、大端法(右)


将数据最低位存储在内存中的低地址处,这种数据存储方法叫做小端法

将数据最高位存储在内存中的低地址处,这种数据存储方法叫做大端法


注意:这种数据存储方法上的差别并不是由操作系统造成的,而是由处理器体系结构造成的。

#include
#include

uint8_t Memory_Judgment(void)
{
    uint32_t a = 0x12345678;
    char *p;
    p = (char *) (&a);
    if(*p == 0x78)    return 1;     // 小端
    else              return 0;     // 大端
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分