大端小端总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大端小端总结相关的知识,希望对你有一定的参考价值。
大端(Big Endian)和 小端(Little Endian)在开发中经常会遇到的问题,因此在正式开发前,清楚的了解当前的开发环境是大端模式还是小端模式就显得非常重要。
大端:指的是数据的最高有效位(MSB:Most Significant Bit)存储在内存块的低位地址。数据的最低有效位(LSB:Lowest Significant Bit)存储在内存块的高位地址。
小端:指的是数据的最高有效位(MSB:Most Significant Bit)存储在内存块的高位地址。数据的最低有效位(LSB:Lowest Significant Bit)存储在内存块的地位地址。
如下图所示:
下面通过一段测试代码来进行演示:
#include <stdio.h> int main() { int n = 0x12345678; char* p = (char*)&n; printf("%x,%x,%x,%x\\n",p[0],p[1],p[2],p[3]); if(p[0] == 0x78 && p[3] == 0x12) { printf("Little Endian.\\n"); } else if(p[0] == 0x12 && p[3] == 0x78) { printf("Big Endian.\\n"); } else { printf("Unkown.\\n"); } return 0; }
结果输出:
表明本机采用的是小端模式。
以上是关于大端小端总结的主要内容,如果未能解决你的问题,请参考以下文章