大端与小端

最近做了小甲鱼练习题,学习了什么是大端和小端,后面有空来填坑。

(2023-12-11)回来补坑啦!

定义

大端:高位字节排放在内存的低地址端,而低位字节排放在内存的高地址端。

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

小试牛刀

现在请编写一个程序,测试一下你当前的计算机是大端还是小端?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>

int main(){
int i;
int num = 0x12345678;
char * p = (char *)&num;

if (*p > *(p+1)){
printf("你的电脑采用小端字节序。\n");
}
else {
printf("你的电脑采用大端字节序。\n");
}

printf("0x%x 在内存中依次存放为: ",num);
for (i = 0; i<4; i++){
printf("0x%x ",*(p+i));
}

return 0;
}

结果输出:

1
2
你的电脑采用小端字节序。
0x12345678 在内存中依次存放为: 0x78 0x56 0x34 0x12