字节序概念
大端存储模式:数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中。
小端存储模式:数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。
判断当前机器的字节序
程序思路:以1这个数为例,得到它第一个字节的内容,若为1就是小段存放;若为0就是大端存放。
#include<stdio.h> int check_sys() { //1的16进制表示为:0x 00 00 00 01 int a = 1; //将&a的类型强制转化为char*类型,在解引用操作时内存空间大小为1个字节 return *(char*)&a; } int main() { if (check_sys())//小端,返回1 printf("小端\n"); else//大端,返回0 printf("大端\n"); return 0; }
直接看a的内存,确实是小端存放