一、大端模式:低位字节排放在内存的高地址端,高位字节在内存的低地址端
二、小端模式:低位字节排放在内存的低地址端,高位字节在内存的高地址端
三、一个整型数字,0x12345678在内存里的存储方式,
a 大端模式
0x12 0x 34 0x56 0x78
低地址 → 高地址
b小端模式
0x78 0x 56 0x34 0x12
低地址 → 高地址
大端模式的内存存储与字符串存储类似
四、若起始地址为0x8000,则0x12345678的存储情况为
内存地址 | 大端方式存储 | 小端方式存储 |
0x8000 | 0x12 | 0x78 |
0x8001 | 0x34 | 0x56 |
0x8002 | 0x56 | 0x34 |
0x8003 | 0x78 | 0x12 |
|
|
|
五、程序判断自己电脑的存储方式
1,使用共用体
union {
int a;
char b;
}num;
num.a=0x12345678;
cout<<hex<<int(num.b)<<endl;
在我的电脑上输出78 可知本机上的存储方式为小端存储
2,使用地址转换
int a=0x12345678;
char b=*(char *)&a;
if(b==0x12)
是大端存储
Else
是小端存储
六、一般操作系统都是小端存储,在通讯协议中一般是大端存储方式