On 10 Oct 2006, at 22:54, Per Gregers Bilse wrote:
[This isn't meant to be flippant or anything else of the kind, it's
a genuinely heartfelt thing, albeit maybe a bit off topic.]
What all things computer related has needed from day one is a way
of pronouncing ("reading out loud") hexadecimal. My first computer
was a 6502, and I've resented numbers larger than FF since then
(been working with AMD Opterons for a couple of years now,
disturbing).
If you print and read in hex, you don't need dots or any other
syntactic
aids, the human eye/brain can easily group the requisite number of
digits,
at least for the time being.
The problem is that from and including A we can't talk about the
damned things any more -- we resort to spelling out each number, with
no inherent and natural feel for what we're taling about.
An A380 has a maximum take-off weight of around 24E (two-four-E)
tonnes.
An A380 has a maximum take-off weight of around 590 (five hundred
and ninety)
tonnes.
Solve that, and we don't need any new notations beyond subtle
groupings,
just like we group thousands and millions in decimal notation.
- Per
This is so, so off topic it's not true. I started this as an off-list
reply
to Per but I'm so pleased with my solution that I can't help sharing it.
Take the solution from natural languages. Most languages I speak (or
have
a smattering of) have a regular or semi-regular way of pronouncing
numbers.
Single digit numbers have a unique name.
10 (the base) has a unique name.
Numbers from 11 to 19 have a name with a suffix and a sound similar
to the terminating
digit usually with a break from the rule for 11 and 12. (nine,
nineteen) (fünf, fünfzehn)
We'd regularize that and not have
Two digit numbers with a zero in the lowest position have a name
using, again, suffix and a similar
sound to the name of the single significant digit involved. (four,
fourty) (vier, vierzig)
100 has a unique name. 1000 has a unique name. Multiples of either
are said
<digit name> <multiplier name>.
That's enough rules apart from the rules for combining all the above
rules.
So, we just need:-
1) Unique names for all the single digit numbers.
2) A unique name for the base.
3) A suffix sound for 1x form numbers.
4) A suffix sound for x0 form numbers.
5) As many unique names for x00000... form numbers as we feel we need.
6) A combining rule(s).
So:
1) Use the english names for 0..9. A..F may need new names if
combined versions sound too similar to the compound forms.
2) 0x10 = hen
3) Use the suffix -heen for 0x11 .. 0x1f
4) Use the suffix -he for 0xX0
5) 0x100 = hexdred, 0x1000 = hexdrend
6) use the english combining rules
7) Try lots of combinations and then revisit 1. e.g
0xA0 becomes 'Aye'-he which sounds too much like eighty for
comfort; so A may need a new name.
So:
0x5432 = five hexdrend, four hexdred and thirhe two.
0x1017 = one hexdrend and sevenheen
0x10000 = hen hexdrend
Happy counting,
Ian