devxlogo

Detecting Your Machine’s Endian

Detecting Your Machine’s Endian

The term endian refers to the way a computer architecture stores the bytes of a multi-byte number in memory. If bytes at lower addresses have lower significance (Intel microprocessors, for instance), this is called little endian ordering. Conversely, big endian ordering describes a computer architecture in which the most significant byte has the lowest memory address. The following portable program detects the endian of the machine on which it is executed:

   void main()   {    union probe{       unsigned int num;      unsigned char bytes[sizeof(unsigned int)];   };    probe p = { 1U }; //initialize first member of p with unsigned 1    bool little_endian = (p.bytes[0] == 1U); //in a big endian architecture, p.bytes[0] equals 0    }
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist