Article View: comp.arch
Article #12551Re: big + little endian (was: Comparison of Alpha, MIPS ..)
From: Dave Gordon
Date: Mon, 11 Jan 1993 17:00
Date: Mon, 11 Jan 1993 17:00
75 lines
4624 bytes
4624 bytes
In <1993Jan6.171242.2895@lsl.co.uk> snail@lsl.co.uk writes: >In article <markg.79.726169747@county.lmt.mn.org>, markg@county.lmt.mn.org (Mark Gilbert) writes: >> In article <WAYNE.92Dec30093950@backbone.uucp> wayne@backbone.uucp (Wayne Schlitt) writes: >>>From: wayne@backbone.uucp (Wayne Schlitt) >> I have identified the root of this whole big-endian/little-endian debate. >> The conflict is is between text and numbers. We read left to right. But, >> if you were to number the digits of an integer, you would do it right to >> left. The one's digit would be 0, the ten's digit, 1, etc. >> >> This should never have been the case. We adopted our number system from the >> Arabs, and the Arabs read right to left. For them, the direction of reading >> text and numbers is CONSISTENT. The whole problem arose because we failed >> to reverse the numbering system when we borrowed it from the Arabs. >> >> I propose that we now correct this historical oversight. Let us write >> numbers least significant digit first. The bang symbol can be used to >> replace the decimal point, in order to distinguish little-endian numbers >> from big-endian. The integer six hundred and fifty four should now be >> written !456. Sixteen dollars and twenty five cents is now $ 52!61. > >You've just proved yourself wrong! > >The number six-hundred and fifty four is written 6-5-4, left to right, exactly >the way we write. That is, I read that I have 6 hundreds before I'm interested >in finding out how many tens or units I have. Now I may had to scan the number >for length to work out that the 6 refers to hundreds, but that is a separate >operation. > >The number !456 would be read as 4 and fifty and 6 hundred. If I were to read >that as six hundred and fifty four, I would still have to scan the number to >find the hundreds digit, then the tens then the units and combine this to give >the number six hundred and fifty four. > >So either way, we must scan the number, just that currently we write the number >the way we say it. > >Also: surely $16.25 is actually 52!61$ in your scheme? >-- >snail@lsl.co.uk Note that not all European languages scan numbers the same way: English is generally big-endian, except for 13-19 (the words for these numbers put the units before "teen" suffix); German consistently puts the units before the tens (but after the hundreds); and French is a complete disaster for consistency, with wierd constructions like soixante-dix, quatre-vingts, etc. Also note yet further inconsistencies when the numbers refer to times; many people still read an analogue clock showing 11:35 as "five-and-twenty to twelve"; [similar oddity in German: 1125 read as "funf vor halb zwolf" i.e. five (minutes) before half (to) twelve]. If consistency were the primary requirement, the best solution would be to reverse the order of writing as proposed above, *AND* reverse the order of speaking to start with the least-significant digit. But the convenience of knowing the most-significant digit first (and often, that's all you really care about) probably outweighs the wish for consistency. [ObSillyNotationalSuggestion] How about prefixing written numbers with a scale indicator, thus eliminating the need to prescan the digit string to find the magnitude (and hence the appropriate number-name for the first digit). Thus 12345654321 (twelve thousand three hundred and forty-five million, six hundred and fifty-four thousand, three hundred and twenty-one (UK) or twelve billion, three hundred forty-five million, six hundred fifty-four thousand, three hundred twenty-one (US)) could be written as "(10)12345654321". The (10) indicates that the first digit represents 10^10, and helps avoid errors in counting the digits that follow when reading/speaking the number. -- =============================================================================== Dave | dsg@imp.co.uk | +44 753 516599 | I am not a .sig virus, I am a free bug! ===============================================================================
Technical Details
Message-ID:
<1993Jan11.170039.7109@impmh.uucp>Path:
arc1-ca.pugleaf.net!sparky!uunet!pipex!ibmpcug!impmh!dsgReferences:
<1992Dec29.044012.1@cc.curtin.edu.au> <3623363@zl2tnm.gen.nz> <WAYNE.92Dec30093950@backbone.uucp> <markg.79.726169747@county.lmt.mn.org> <1993Jan6.171242.2895@lsl.co.uk>Show Full Headers
Complete Article Headers
Newsgroups: comp.arch Path: arc1-ca.pugleaf.net!sparky!uunet!pipex!ibmpcug!impmh!dsg From: dsg@impmh.uucp (Dave Gordon) Subject: Re: big + little endian (was: Comparison of Alpha, MIPS ..) Message-ID: <1993Jan11.170039.7109@impmh.uucp> Organization: Integrated Micro Products Ltd References: <1992Dec29.044012.1@cc.curtin.edu.au> <3623363@zl2tnm.gen.nz> <WAYNE.92Dec30093950@backbone.uucp> <markg.79.726169747@county.lmt.mn.org> <1993Jan6.171242.2895@lsl.co.uk> Date: Mon, 11 Jan 1993 17:00:39 GMT Lines: 76