目录
一.什么是大端和小端
大端模式与小端模式是数据在内存中存储的方式。
大端模式(Big-Endian)和小端模式(Little-Endian)的定义如下:
1.Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
2.Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
举例,比如数字0x12 34 56 78在内存中的表示形式为:
1)大端模式:
低地址 -----------------> 高地址
0x12 | 0x34 | 0x56 | 0x78
2)小端模式:
低地址 ------------------> 高地址
0x78 | 0x56 | 0x34 | 0x12
二.如何判断自己的计算机是大端模式还是小端模式
代码:
#include <stdio.h>
#include <string.h>
typedef union test
{
unsigned short a;
unsigned char b[2];
}TEST;
int main(void)
{
TEST c;
c.a = 0x1234;
if(c.b[0] == 0x12){ //数组总是从低地址向高地址增长的
printf("Big-Endian\n");
}else{
printf("Little-Endian\n");
}
return 0;
}