C/C++ 关于大小端模式
Posted AIL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C/C++ 关于大小端模式相关的知识,希望对你有一定的参考价值。
大端模式: 数据的高字节存在低地址 数据的低字节存在高地址
小端模式: 数据的高字节存在高地址 数据的低字节存在低地址
如图,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]); }
此时说明该编译器为小端模式。
CSDN地址:http://blog.csdn.net/lyl_312/article/details/51405553
以上是关于C/C++ 关于大小端模式的主要内容,如果未能解决你的问题,请参考以下文章