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