C/C++ 关于大小端模式

来源:互联网 发布:小白素材vip源码 编辑:程序博客网 时间:2024/04/30 15:26

大端模式:  数据的高字节存在低地址  数据的低字节存在高地址

小端模式:  数据的高字节存在高地址  数据的低字节存在低地址


如图,i为int类型占4个字节,但只有1个字节的值为1,另外3个字节值为0;取出低地址上的值,当其为1时则为小端模式,为0时为大端模式。

//大小端模式的判断//方法一:利用联合体所有成员的起始位置一致,//对联合体中的int类型赋值,然后判断联合体中char类型的值的大小void SysCheck(){union IsLitte_Endian{int i;char c;};IsLitte_Endian Check;Check.i = 1;bool Flag=Check.c == 1;//Flag为true表示是小端模式,Flag为false表示为大端模式,此时Flag为true。return;}

//方法二:利用强制类型转换判断//与共用体判断类似bool IsLitte_Endian(){int Wvar = 0x12345678;short *Pvar = (short*)&Wvar;return !(0x1234 == Pvar[0]);}

此时说明该编译器为小端模式

0 0
原创粉丝点击