大端
- 低地址存高位
小端
- 低地址存低位
测试
测试自己电脑大小端
#include <stdio.h>
//我的是小端
int main() {
// 1027 = 1024 + 3 = 0x403 = 0100 0000 0003 (2)
int a = (1 << 1) + (1 << 10) + (1 << 20) + (1 << 30); //4字节
a = 1027;
printf("%d\n", a);
printf("%#x\n", a);
//因为int四字节
char *p = (char*)&a;
printf("address: %p, value: %#x\n", p, *p);
printf("address: %p, value: %#x\n", p + 1, *(p + 1));
printf("address: %p, value: %#x\n", p + 2, *(p + 2));
printf("address: %p, value: %#x\n", p + 3, *(p + 3));
return 0;
}
十进制 | 二进制 | 十六进制 |
---|---|---|
1027 | 0100 0000 0003 | 0x403 |
输出结果
小端
1027
0x403
address: 0x7fff190f3a4c, value: 0x3
address: 0x7fff190f3a4d, value: 0x4
address: 0x7fff190f3a4e, value: 0
address: 0x7fff190f3a4f, value: 0