From: dsg@impmh.uucp (Dave Gordon)
Subject: Re: big + little endian (was: Comparison of Alpha, MIPS ..)
Organization: Integrated Micro Products Ltd
Date: Mon, 11 Jan 1993 17:00:39 GMT

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!
===============================================================================

Newsgroups: comp.arch