/******************************************************************************
By Codeky.dev
This code is to demonstrate the Endianness
Explanation:
-----------
The endianess is how the cpu arrange bytes in memory
in Big endian system, MSB is placed at lower address,
while in Little endian system, MSB is placed higher address.
So, if we have an unsigned integer: 0x00000001
it is represented in the memory as below in both systems
| | byte[0] | byte[1] | byte[2] | byte[3] |
|----+---------+---------+---------+---------|
| BE | 00 | 00 | 00 | 01 |
| LE | 01 | 00 | 00 | 00 |
If we have a char pointer point to that integer variable,
derefenced the pointer will be 00 in BE and 01 in LE
That's it :)
*******************************************************************************/
#include <stdio.h>
int isLittleEndian() {
unsigned int x = 1;
return *(char*) &x;
}
int main()
{
if (isLittleEndian()) {
printf("Little endian\n");
} else {
printf("Big endian\n");
}
return 0;
}
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogIAogIEJ5IENvZGVreS5kZXYKICAKICBUaGlzIGNvZGUgaXMgdG8gZGVtb25zdHJhdGUgdGhlIEVuZGlhbm5lc3MKICAKICBFeHBsYW5hdGlvbjoKICAtLS0tLS0tLS0tLQogIAogICAgVGhlIGVuZGlhbmVzcyBpcyBob3cgdGhlIGNwdSBhcnJhbmdlIGJ5dGVzIGluIG1lbW9yeQogICAgaW4gQmlnIGVuZGlhbiBzeXN0ZW0sIE1TQiBpcyBwbGFjZWQgYXQgbG93ZXIgYWRkcmVzcywKICAgIHdoaWxlIGluIExpdHRsZSBlbmRpYW4gc3lzdGVtLCBNU0IgaXMgcGxhY2VkIGhpZ2hlciBhZGRyZXNzLgogICAgU28sIGlmIHdlIGhhdmUgYW4gdW5zaWduZWQgaW50ZWdlcjogMHgwMDAwMDAwMQogICAgaXQgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIG1lbW9yeSBhcyBiZWxvdyBpbiBib3RoIHN5c3RlbXMKICAgIAogICAgfCAgICB8IGJ5dGVbMF0gfCBieXRlWzFdIHwgYnl0ZVsyXSB8IGJ5dGVbM10gfAogICAgfC0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tfAogICAgfCBCRSB8ICAgMDAgICAgfCAgIDAwICAgIHwgICAgMDAgICB8ICAgMDEgICAgfAogICAgfCBMRSB8ICAgMDEgICAgfCAgIDAwICAgIHwgICAgMDAgICB8ICAgMDAgICAgfAogICAgCiAgICBJZiB3ZSBoYXZlIGEgY2hhciBwb2ludGVyIHBvaW50IHRvIHRoYXQgaW50ZWdlciB2YXJpYWJsZSwKICAgIGRlcmVmZW5jZWQgdGhlIHBvaW50ZXIgd2lsbCBiZSAwMCBpbiBCRSBhbmQgMDEgaW4gTEUKICAgIAogICAgVGhhdCdzIGl0IDopCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwojaW5jbHVkZSA8c3RkaW8uaD4KCmludCBpc0xpdHRsZUVuZGlhbigpIHsKICB1bnNpZ25lZCBpbnQgeCA9IDE7CiAgcmV0dXJuICooY2hhciopICZ4Owp9CgppbnQgbWFpbigpCnsKICBpZiAoaXNMaXR0bGVFbmRpYW4oKSkgewogICAgcHJpbnRmKCJMaXR0bGUgZW5kaWFuXG4iKTsKICB9IGVsc2UgewogICAgcHJpbnRmKCJCaWcgZW5kaWFuXG4iKTsKICB9CiAgcmV0dXJuIDA7Cn0K