Little-Endian:低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。

Big-Endian:高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。

记忆方法:小端:低地址存放低位;大端高地址存放低位。(小顺,大逆)

先解释一下?

高地址、低地址:这个很明显,地址大则是高地址,地址小则是低地址。

低位、高位:

从int型分析:0x00 12 34 56;从数据大小来判断,从左到右分别是高位到低位。例如1000元,1当然是高位,0当然是低位。

由于这个int型是以十六进制表示的,0x6则表示一个十六进制位;

由于一个十六进制占用4位byte,也就是0xF等于0b1111(0b表示二进制表示);

由于一个地址存放8位byte,也就是最大十六进制数0xFF;

所有这个int型由4个地址存放。

如图:小端模式


例如:

int a=0x 00 12 34 56;
printf("addr:0x%0x, dat:%0x\n", ((char *)&a)[0]);
printf("addr:0x%0x, dat:%0x\n", ((char *)&a)[1]);
printf("addr:0x%0x, dat:%0x\n", ((char *)&a)[2]);
printf("addr:0x%0x, dat:%0x\n", ((char *)&a)[3]);

输出结果:[为小端,低地址存放低位]

addr: 0xb6af0cac, dat:56
addr: 0xb6af0cad, dat:34
addr: 0xb6af0cae, dat:12
addr: 0xb6af0caf, dat:00

相反则说明是大端


GitHub 加速计划 / li / linux-dash
13
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:4 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐