Check Big/Little Endian

1172 ワード

Little endian:Low memory address stores low byte value.(eg.  short int 0x2211   0xbfd05c0e->0x11 | 0xbfd05c0f->0x22)
Big endian:Low memory address stores high byte value. (eg.  short int 0x2211   0xbfd05c0e->0x22 | 0xbfd05c0f->0x11)
 
#include <endian.h>



bool IsLittleEndian1()



{



    return BYTE_ORDER == LITTLE_ENDIAN ? true : false;



}







bool IsLittleEndian2()



{



    short endian = 0x2211;







    return *((char*)(&endian)) == 0x11 ? true : false;



}