#include using namespace std; int little_endian_TO_big_endian(int i) { return((i&0xff)<<24) +((i&0xff00)<<8) +((i&0xff0000)>>8) +((i>>24)&0xff); } int main() { union { short s; char c[sizeof(short)]; } un; int array[3] = {0x0A0B0C0D, 0x0, 0x0}; array[1] = little_endian_TO_big_endian(array[0]); array[2] = little_endian_TO_big_endian(array[1]); cout << "sizeof(short) = " << sizeof(short) << endl; un.s = 0x0102; // Annahme sizeof(short) = 2 if(un.c[0] == 1 && un.c[1] == 2) cout << "big-endian" << endl; else if(un.c[0] == 2 && un.c[1] == 1) cout << "little-endian" << endl; else cout << "unknown" << endl; return(0); }