There is one place in computers where there is real bit-order, and that when it is represented on serial lines.
As another commenter points out, IBM is one of the few to reverse this and number bits in a big-endian order on their big-endian processors, with 0 being the most significant.
[1] https://www.felixcloutier.com/x86/bextr
[2] https://www.keil.com/support/man/docs/armasm/armasm_dom13612...
My opinion big endian should be intentionally unsupported.
Generally this question is asked primarily by software people. It's worth noting that there's no way to access a bit in memory. The "atomic" level in modern computers is the byte. You can read a byte from memory, you can write a byte to memory. You cannot read or write a single bit.
That is to say that it doesn't matter what endian-ness the bit order is. There's no way for the CPU to ever peek inside the RAM to see how the bits are arranged in the byte. The memory could store it in completely random order, with each block of memory shuffling the bits differently from every other block -- as long as it send the data to the CPU in the expected fashion.
Certain bit-sliced microcode architectures can also impose a certain directionality for the bits.
Finally, serial communications and storage impose directionality upon the bit stream. (Anyone remember writing to magnetic tape?)
[1] https://en.wikipedia.org/wiki/Ethernet_over_twisted_pair#Var...
[2] https://en.wikipedia.org/wiki/Fast_Ethernet#100BASE-TX
[3] https://en.wikipedia.org/wiki/Gigabit_Ethernet#1000BASE-T
I know I've seen material where a CPU numbered bits from 1 to 32, with 1 being most significant, but I can't remember the manufacturer.
Let us not forget the PDP-11, whose 32-bit format is both BE (in bytes) and LE (in words).
What do you mean by ”last byte” here? On a little endian machine, a two-byte integer stored at address x has its less significant byte at x+0, and its more significant byte at x+1.
Going by those numbers, byte 0 is the least significant byte, much like bit 0 is the least significant bit.
Now, why is bit 0 the lowest? Well I think this follows naturally from binary representation as a polynomial of powers or two. So bit 0 is 2^0, bit 1 is 2^1, etc. Representation with digits in base 2 also simply follows standard order of numerals: 100 is one hundred, not zero zero one whether in decimal or binary.
The issue of big-endian vs little-endian really arises when you want to represent a word across bytes. Different people made different choices, since they are equally valid.
Now, over a serial line you can also decide to transmit bits one way or the other, and this can indeed go either way depending on the interface, either LSB (least significant bit) first or MSB (most significant bit) first.
What I don't understand: why not just go all out little endian at that point? It seems like it would complicate circuit design as well given that an arithmetic shift needs weird wiring to properly work across little endian bytes big bits.
The part that matters is that references to smaller version of the same registers grab the correct bits, and that memory reads and writes write individual bytes in the little endian order (or big endian for big endian processors). Lastly bit order matters for any form of serial IO, but once again, it does not need to correspond to the internal ordering used by the processor in any way shape or form.
The bit ordering in RAM within an individual byte also does not matter. If a CPU picked a random ordering of bits in a byte (like 46170325 instead of the logical 01234567 or 76543210 orderings) everything would just work as long as nothing else was directly connected to the memory bus. In practice even DMA devices are not connected directly to the memory bus, and all memory access goes through the the CPU's DDR memory controller, so it literally could pick whatever order for mapping bits to bytes that it wanted.
Want to compare two numbers? You can short-circuit (hah) as soon as the leftmost bit is different.
These probably invert pretty easily I suspect (the 1-bit bus with a latch would be the only order dependent thing).
But as a human, it is definitely so much easier to write down 7 on paper tape if the numbers match the big endian order.
The big-endian bit order definitely made my "write binary on paper" exercises in college much easier to read back.
The whole "arabic numeral" thing is accidentally visible there, where you fill numbers right to left if you want the decimal points to align.