Create a unified format for my wiki. Unfortunately, since most of my notes are created on a whim and I don't care much about metadata at the time, the timestamps are only approximations from my memory.
1.6 KiB
Executable File
Endianness
Endianness refers to how bits are read and this depends on the underlying hardware architecture. 1
For example, given the following bit, 11010, this could be read as $(1\times2^{0}) + (1\times2^{1}) + (0\times2^{2}) + (1\times2^{3}) + (0\times2^{4})$ or $11$ with the first bit being the least significant also known as little-endian. On the other hand, this could also be read as $(0\times2^{0}) + (1\times2^{1}) + (0\times2^{2}) + (1\times2^{3}) + (1\times2^{4})$ or $26$ with the last bit being the least significant which we refer to as big-endian. 2
Endianness can have subtle effects on various things — e.g., using binary data formats like FITS and HDF — like having the wrong endianness.
To know the endianness of your machine, you can simply create a test number (preferably in binary) and check for the first few digits if it's little-endian — otherwise, it is big-endian.
If you have Python installed, you can simply use sys.byteorder
(e.g., python -c 'import sys; print(sys.byteorder)
).