COHERENT manpages
This page displays the COHERENT manpage for byte ordering [Machine-dependent ordering of bytes].
List of available manpages
Index
byte ordering -- Definition
Machine-dependent ordering of bytes
Byte ordering is the order in which a given machine stores successive bytes
of a multibyte data item. Different machines order bytes differently.
The following example displays a few simple examples of byte ordering:
main()
{
union
{
char b[4];
int i[2];
long l;
} u;
u.l = 0x12345678L;
printf("%x %x %x %x\n",
u.b[0], u.b[1], u.b[2], u.b[3]);
printf("%x %x\n", u.i[0], u.i[1]);
printf("%lx\n", u.l);
}
When run on ``big-endian'' machines, such as the M68000 or the Z8000, the
program gives the following results:
12 34 56 78
1234 5678
12345678
As you can see, the order of bytes and words from low to high memory is the
same as is represented on the screen.
However, when this program is run on ``little-endian'' machines, such as
the PDP-11, you see these results:
34 12 78 56
1234 5678
12345678
As you can see, the PDP-11 inverts the order of bytes within words in
memory.
Finally, when the program is run on the i8086 you see these results:
78 56 34 12
5678 1234
12345678
The i8086 inverts both words and long words.
See Also
C language,
canon.h,
data formats,
Programming COHERENT











