• 0 Posts
  • 8 Comments
Joined 9 months ago
cake
Cake day: April 1st, 2024

help-circle
  • Ok, I think I see the problem. To me, MSb (Most Significant bit) isn’t an ordering at all, just a label that one particular bit has. To specify an ordering, you’d also need to say whether that bit comes first or last. This concept doesn’t exist in computer memory because, as previously mentioned, bits in a byte aren’t ordered in memory. I was thinking of the individual digits in a field (each Y in YYYY) as separate bytes in a word, so endianness order makes sense to think about; separate fields in this analogy were contiguous like struct fields. I think my mental model is sensible, since ISO 8601 is fundamentally a sequence of characters, which are all in an absolute order.


  • Right, and in data transfer every byte can be placed in an absolute order relative to every other. And the digits within the respective fields are already big-endian (most significant digit first), so making the fields within the whole date little-endian is mixed-endian.

    I have iterated this several times, so I worry there’s a fundamental miscommunication happening here.



  • Right, and the most significant bit of the whole date is the first Y in YYYY, which we can’t put at the end unless we reverse the year itself. So we can either have pure big-endian, or PDP-endian. I know which one I’m picking.

    Your literal statement is also just wrong. The solitary implication of endianness is byte ordering, because individual bits in a byte have no ordering in memory. Every single one has the exact same address; they have significance order, but that’s entirely orthogonal to memory. Hex readouts order nybbles on the same axis as memory so as not to require 256 visually distinct digits and because they only have two axes; that’s a visual artefact, and reflects nothing about the state of memory itself. ISO 8601 on the other hand is a visual representation, so digit and field ordering are in fact the same axis.