大端小端存储模式
大端存储:将数据的低位保存在内存的高地址处,而数据的高位,保存在内存的低地址中。
小端存储:将数据的低位保存在内存的低地址处,而数据的高位,保存在内存的高地址中。
int num = 0x11223344;
低地址 -> 高地址
大端存储:11 22 33 44
小端存储:44 33 22 11
如何判断当前环境是大端存储还是小端存储?
#include <stdio.h>
/*
返回1代表小端存储
返回0代表大端存储
*/
int check_sys() {
int symbol = 1;
// 0x 00 00 00 01
// 低地址 -> 高地址
// 小端:01 00 00 00
// 大端:00 00 00 01
return *(char*)&symbol;
}
int main() {
if (check_sys()) {
printf("小端存储\n");
}
else {
printf("大端存储\n");
}
return 0;
}