big endian vs. little endian - school of electrical...

1
Shariful Shaikot ptr[0] ptr[1] ptr[2] ptr[3] // Big Endian Vs. Little Endian int main() { int var; // Integer values char *ptr; // Pointer // Assign 'var' and output it in byte order and as a value var = 0x12345678; ptr = (char *) &var; printf("ptr[0] = %02X \n", ptr[0]); // Prints 78 printf("ptr[1] = %02X \n", ptr[1]); // Prints 56 printf("ptr[2] = %02X \n", ptr[2]); // Prints 34 printf("ptr[3] = %02X \n", ptr[3]); // Prints 12 printf("var = %08X \n", var); // Prints 12345678 } The output of this program is in LITTLE ENDIAN format. Comparison of Big Endian and Little Endian Data Presentation Big Endian Little Endian Solaris on SPARC Windows on Intel ptr[0] = 12 ptr[1] = 34 ptr[2] = 56 ptr[3] = 78 ptr[0] = 78 ptr[1] = 56 ptr[2] = 34 ptr[3] = 12 var = 12345678 var = 12345678 1 2 6 4 5 8 7 3 8 bit 4 bit 31 30 …………….24 23 22 ……………….16 15 14 ………………..8 7 6 …………………..0

Upload: lamkiet

Post on 15-Apr-2018

217 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Big Endian Vs. Little Endian - School of Electrical ...eecs.wsu.edu/~sshaikot/docs/Other/BigEndian_vs_LittleEndian.pdf// Big Endian Vs. Little Endian int ... (char *) &var;

Shariful Shaikot 

 

ptr[0]ptr[1]ptr[2]ptr[3]

// Big Endian Vs. Little Endian int main() { int var; // Integer values char *ptr; // Pointer

// Assign 'var' and output it in byte order and as a value var = 0x12345678; ptr = (char *) &var; printf("ptr[0] = %02X \n", ptr[0]); // Prints 78 printf("ptr[1] = %02X \n", ptr[1]); // Prints 56 printf("ptr[2] = %02X \n", ptr[2]); // Prints 34 printf("ptr[3] = %02X \n", ptr[3]); // Prints 12 printf("var = %08X \n", var); // Prints 12345678

}

The output of this program is in LITTLE ENDIAN format.

 

 

 

   

 

Comparison of Big Endian and Little Endian Data Presentation 

Big Endian  Little Endian

Solaris on SPARC  Windows on Intel 

ptr[0] = 12 ptr[1] = 34 ptr[2] = 56 ptr[3] = 78

ptr[0] = 78 ptr[1] = 56 ptr[2] = 34 ptr[3] = 12

var = 12345678 var = 12345678

 

       1  2  6 4  5  8 7 3 

8 bit 4 bit 

31 30 …………….24     23  22 ……………….16  15  14 ………………..8    7 6 …………………..0