Advertisement
Guest User

endianness

a guest
Jul 27th, 2011
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.63 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     int data_in_register = 0x0A0B0C0D;
  8.     char little_endian_data[4] = {0x0D, 0x0C, 0x0B, 0x0A};
  9.     char big_endian_data[4] = {0x0A, 0x0B, 0x0C, 0x0D};
  10.  
  11.     int num = 0;
  12.     int i;
  13.  
  14.     for(i = 0; i < 4; i++)
  15.         num += little_endian_data[i]<<i*8;
  16.  
  17.     if (num == data_in_register)
  18.         cout << "little endian version works." << endl;
  19.  
  20.     num = 0;
  21.     for (i = 0; i < 4; ++i)
  22.     {
  23.         num <<= 8;
  24.         num |= big_endian_data[i];
  25.     }
  26.  
  27.     if (num == data_in_register)
  28.         cout << "big endian version works." << endl;
  29.  
  30.    
  31.     return 0;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement