[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)