5:30 By my understanding, it came from CPUs being extended to wider data busses over time. For instance, the 8088 had an 8 bit data bus, 16 bit word size, so "add ax, 0x1234" can, through just incrementing the address, pick up the low bits (0x34), and start adding. On the next cycle, it increments the address, and carries the result from the low bits into the add for 0x12. Systems that started with 32 bit data busses, are pretty much free to wire up the data lines however they want. Little endian also has the (questionable?) advantage of, you can take a pointer to a wider integer and reinterpret_cast it down to a narrower one by just issuing a load for the narrower type.
5:30 By my understanding, it came from CPUs being extended to wider data busses over time.
For instance, the 8088 had an 8 bit data bus, 16 bit word size, so "add ax, 0x1234" can, through just incrementing the address, pick up the low bits (0x34), and start adding. On the next cycle, it increments the address, and carries the result from the low bits into the add for 0x12.
Systems that started with 32 bit data busses, are pretty much free to wire up the data lines however they want.
Little endian also has the (questionable?) advantage of, you can take a pointer to a wider integer and reinterpret_cast it down to a narrower one by just issuing a load for the narrower type.