高位优先(大端方式)的体系结构把最高字节位放在最小的内存地址上。这和低位优先形成了鲜明的对照
下面这段代码在用户空间和内核空间都可以使用。
#include<stdio.h>
int main(){
int x = 1;
if(*(char *) &x == 1)
printf("低位优先(小端方式)");
else
printf("高位优先(大端方式)");
return 0;
}
image.png
现在考察一下存放一个四字节的整型的二进制数,它的十进制对应值是1027.
00000000 00000000 00000100 00000011
在内存中用高位优先和低位优先两种不同字节顺序存放时的比较如下
地址 高位优先 低位优先
0 00000000 00000011
1 00000000 00000100
2 00000100 00000000
3 00000011 00000000
网友评论