[HN Gopher] On Endianness
       ___________________________________________________________________
        
       On Endianness
        
       Author : bshanks
       Score  : 31 points
       Date   : 2022-05-23 06:10 UTC (16 hours ago)
        
 (HTM) web link (www.technicalsourcery.net)
 (TXT) w3m dump (www.technicalsourcery.net)
        
       | thedanbob wrote:
       | Little-endian makes more sense for computers where calculation is
       | most important. Big-endian makes more sense for humans where, I
       | would argue, _comparison_ is most important. If I want to know
       | e.g. if I can afford something, I 'd prefer hearing the price as
       | "four hundred and ..." to instantly get a ballpark rather than
       | "five and ninety and four hundred".
        
         | Taniwha wrote:
         | No - I think that big-endian only makes sense because you grew
         | up with it.
         | 
         | Think about who used numbers back when this decision was made -
         | small business people who mostly did math by hand - addition in
         | particular - which we do from small digits to large - if we'd
         | done the sane thing when we borrowed arabic numbers we'd write
         | them in the order that numbers come out of an addition
         | operation, rather than having to guess at how much space to
         | leave for the result and write them backwards from the order we
         | normally write them
        
           | mathematicaster wrote:
           | No - that's what she said.
        
         | cowtools wrote:
         | You can make a program to convert it to some human-readable
         | number then. You have to do this because it's binary anyways,
         | so you're either representing it as octal, hexadecimal or
         | binary.
         | 
         | I don't know about you, but if I am trying to reason about
         | hexadecimal numbers then I just separate it into 0xDEADBEEF =
         | D*16^7 + E*16^6 + A*16^5 + D*16^4 + B*16^3 + E*16^2 + E*16^1 +
         | F*16^0. The endianness only changes the order of the bytes I
         | start reading at. What we ought to do is make a new prefix for
         | reading the hexadecimal numbers in little-endian order like
         | 0xDEADBEEF = 0yEFBEEDDE. Of course, this doesn't really fix the
         | problem (wanting to read the number with smaller symbols first)
         | as bytes are still considered to be in big endian if you
         | consider the semantics about left/right shifts, which play on
         | our preconceived notions of big endianness in everyday decimal
         | math. You would want a system where everything is treated
         | little-endian (bits within bytes, bytes within arrays)
        
       | anonymousiam wrote:
       | In the old days of satellite development (40 years ago at Hughes
       | Space & Communications), I observed that the bit order in digital
       | subsystems was always Big Endian, but all the other subsystems
       | were usually Little Endian. Sometimes this caused issues, which
       | fortunately were discovered during the integration & test phase.
       | Usually problems like this were "corrected" by altering the
       | documentation instead of the hardware so for a while, the
       | majority of satellites in Earth orbit had a strange mix of
       | endianness throughout the subsystems. The digital culture
       | eventually won at Hughes/Boeing, but the standards committee
       | punted and allows the endianness to be arbitrary (as long as it's
       | documented) in the CCSDS standards.
       | 
       | https://public.ccsds.org/default.aspx
        
       | guidoism wrote:
       | A few weeks ago I read the original paper where the names big
       | endian and little endian came from and was really surprised that
       | it was published in 1980!
       | 
       | So, before then we didn't have a common way of describing this I
       | guess. It's crazy to me if true.
       | 
       | Good paper BTW. Worth reading.
        
         | drfuchs wrote:
         | Because pretty much no machine in the universe used little-
         | endian before Intel decided to save a cycle somewhere in the
         | 8008 design, so there was no reason to have a way to refer to
         | it. And even then, nobody paid much attention until IBM put an
         | 8086 into the PC, rather than a Motorola 68X0, right about the
         | time of the article you mention. It's been downhill ever since.
        
           | userbinator wrote:
           | Multiple-precision arithemtic routines were almost always
           | little-endian.
        
           | guidoism wrote:
           | I agree with the sentiment but the RFC even mentions the PDP
           | 11 as the first computer to claim being little endian. I
           | wonder if the ascent of C and Unix at that time also
           | contributed to it.
        
       | drfuchs wrote:
       | OK, temporarily-victorious little-endians: Explain how you find
       | it perfectly natural that the bits in a byte are big-endian?
        
         | TazeTSchnitzel wrote:
         | The bits in a byte do not have a defined endianness!
        
       ___________________________________________________________________
       (page generated 2022-05-23 23:00 UTC)