As Mohit said, yes: The output shows that the least significant bits are at lower addresses in memory, or "the little endian is first"; or "Little Endian".
This can be somewhat confusing, especially for westerners who write and read left-to-right. I can only suspect that people who read and write Hebrew or Arabic feel less puzzled.
One of the consequences is that the bit shift operators work in the opposite "direction" of what they seem to indicate.
There has been a lot of debate about the merits and disadvantages of either byte order; in the end it doesn't matter, and of course C's big achievement is to abstract from concrete architectures just enough to smooth over the differences and make programs portable (but without preventing access to the bits and bytes).
With little endian it's somewhat unintuitive that the bits in a byte are still ascending (the way we write them) right-to-left, while the bytes are ascending (if we write higher addresses left) left-to-right.
Also, the internet byte order is Big Endian so that it's important to use htonl()
and friends. (Please do not re-implement these functions.)
One of the nice properties of little endian byte order is that small values are the same no matter what data type you assume at a memory location; if you write a 32 bit int with the value 23 to address x and read it later as a char it's 23; it would be 0 on a big endian machine.