
Pronunciations for hexadecimal numbers (1968) - henrik_w
https://twitter.com/lizhenry/status/1165760903809130496
======
sjrd
In French, and more specifically French as spoken in some areas in
Switzerland, there is a very natural way of pronouncing hex numbers:

1 to F are the normal 'un' to 'quinze'. A is 'dix'.

10 is 'seize'. 11 is 'seize et un' etc. Until 1F which is `seize et quinze'.

20 to 2F are 'vingt' until 'vingt et quinze'.

Etc.

70, 80 and 90 are called 'septante', 'huitante' (Swiss-specific) and
'nonante'.

A0 is 'dixante', then we have 'onzante', 'douzante', 'treizante',
'quatorzante' and 'quinzante'.

100 is 'cent', and from there normal rules apply.

Etc.

So B78D would be 'onze mille sept cents huitante treize'.

Note that 'soixante dix' is 6A, _not_ 70.

~~~
lucideer
I see no reason this couldn't be applied to English. "-nz(e)", etc. is akin to
"-teen", and beyond that it should be exactly the same, with septante/seventy,
huitante/eighty, and nonante/ninety being the popular English versions (unlike
e.g. Metropolitan French).

B78D: Eleven Thousand Seven Hundred and Eighty Thirteen

See also Tolkien's famous hobbit's birthday party.

~~~
unfreezingly
I love this system, but how do you deal with the ambiguity around "ten"?

    
    
        9: nine
        A: ten?
        B: eleven
        ...
        10: ten?
        20: twenty
        30: thirty

~~~
dragontamer

        9: nine
        A: ten
        B: eleven
        ...
        10: hexTen
        20: hexTwenty
        30: hexThirty
        ...
        100: hexHundred
    

My issue is that 1000 is hexThousand, but when working with hex numbers, its
far more logical to group them in 4s.

0x10000 is a number more deserving of a name than 0x1000.

In effect, I want to call 0x10000 as "hex-thousand" (correlating to the number
where 16-bits overflow). And 0x100000000 as "hex-million" (correlating to the
32-bit overflow number).

Of course, that leaves 0x1000 and 0x1000000 as ambiguous.

~~~
kps
‘Myriad’, via Greek¹. (Apparently though, ‘myria‐’ was a pre-SI metric prefix
for ×10000⏨, so I'm afraid someone will come along and insist on ‘myribi‐’,
and I'll have to smack them.)

¹
[https://en.wikipedia.org/wiki/10,000#Name](https://en.wikipedia.org/wiki/10,000#Name)

~~~
dragontamer
Interesting.

Myriad shares similarities to "Million". So maybe Myriad / Biriad / Trilliad /
Quadrilliad will scale into the higher orders.

Hmm, maybe I'll make this a thing.

~~~
roywiggins
Not to be confused with the long-scale numbers: milliard/billiard/trilliard

------
bjackman
Much less interesting but I've worked in teams where "zillion" is a shorthand
for "followed by all the zeroes that fit in a word of the size we're talking
about". So 8 zillion is 0x80000000 if we're talking about a 32 bit address
space.

~~~
evanb
That's weird because 3 zillion is more than 28 zillion.

~~~
beefield
And one zillion equals ten zillions...

~~~
codetrotter
And also one hundred zillions, and even one zillion zillions.

~~~
manojlds
Yeah ok, we got thay from the parent comment.

------
dasyatidprime
The extra digit names flow well, but I think shoehorning it into the same
constructions English decimal numbers use doesn't, mostly because the
“-ty”/“-teen” suffixes are too tied both etymologically and phonetically to
being “ten”. If I say the word “eighteen”, making it 0x18 in one context and
XVIII in another is close in plausible applicability and far in exact meaning,
which is about the worst case for avoiding misunderstandings. In fact I have a
vague recollection of my computer architecture instructor back in undergrad
warning us about exactly that regarding hexadecimal numbers: do not ever be
tempted to pronounce them as though they were decimal, even if all the digits
fit into the pattern.

There might be ways to fix that with variants of those suffixes, though my
first thought of “-xy”/“-xeen” might be too hard to distinguish in a noisy
auditory environment.

~~~
mc32
Isn’t an issue what the words for numbers mean?

Does thousand mean the quantity itself or does it mean the decimal 1000?

In other words thousand = 1000 (dec) and 0x3E8 (hex). Are they both pronounced
“thousand”? When someone says mix a thousand liters of glycol with ten
kilograms of salt, both 1000 (dec) and 0x3E8 (hex) mean “thousand” each of
something.

The only way to get around this is if every whole number on the number line
had a unique name and could be represented by any numbering system.

~~~
OJFord
If someone said to me 'one thousand base sixteen' I would think '=> 1000_16 =>
0x1000'; certainly not that they were converting all numbers to base ten
solely for the purpose of speech.

Thus, I agree with you, there's value in making digits beyond 9 pronouncable
for higher bases (if dealing with them enough to make devising the system
worthwhile of course).

~~~
kbwt
I would think exactly the opposite.

------
kazinator
These are quite silly things. Firstly, why invent words instead of just using
the ltters. Obviously A creates an ambiguity with "eight", but other than
that, things are fine. Perhaps A should be "aye".

The "teen" suffix is wrong; it specifically means "ten". For instance thirteen
means three+ten, so it is inappropriate to pronounce 0x13 as "thirteen". So
that is to say, the pronunciation issue does not begin at 1A; we shouldn't
call 0x19 "nineteen", but something else.

Similarly 0x30 shouldn't be "thirty" because that word means three times ten.

There shouldn't be any common words between hex pronunciation and decimal that
denote a different integer. If we say "hundred" and the context is really
clear, it can be understood as 0x100, but the context isn't always clear.
Attaching "hex" after every ambiguous wording ("hundred thirty-one hex" for
0x131) is verbose. How about:

    
    
       8: eight
       9: nine
       A: aye
       B: bee
       C: cee
       ...
       F: eff
      10: hex
      11: heven
      12: helve
      13: thirex
      14: forex
      15: fivex
      16: sixex
      17: sevex
      18: eightex
      19: ninex
      1A: ayex
      1B: behex
      ..
      1F: efex
    
      20: twexy
      30: trixy
      40: foxy
      50: fixy
      60: sixy
      70: sepsy
      80: oxy
      90: noxy
      A0: ayesy
      B0: beezy
      C0: ceezy
      D0: deezy
      E0: eezy
      F0: efzy
    
      100: hent (from "cent")
      1000: hil (from "mil")
      10000: han (from 万 (man))
      100000000: hoku (from 億 (oku))
    
      0xDEADBEEF:  deezy-ee-hent ayesy-dee han beezy-ee-hent eezy-eff.
    
      0xF00FCBB0:  efzy-hent-eff han, ceezy-bee-hent beezy.

------
thanhhaimai
Would anyone please help me understand the benefits of this? :).

This approach (and other approaches proposed in this thread) seems to add
complexity but it's not that much better than just reading the characters
normally.

> B78D would be 'onze mille sept cents huitante treize'

Or just read it: B, 7, 8, D. To space out a long hex number, read it in group
of 4, with a pause.

The approach, other than it's not being shorter, also risks miscommunication
due to the receiver might not be familiar with it, or due to the sound system
has multiple very similar sounds (but totally will change the meaning when
misheard) like -teen and -ty.

~~~
apocolyps6
Don't you think that's a bit of a strawman? The user is explaining how that
number is pronounced in their native Swiss French. Clearly nobody is
suggesting you have to learn French to say some numbers.

~~~
thanhhaimai
I think this might be the disconnect between us. From my point of view as a
non-native English speaker, the approach proposed in the tweet and that Swiss
French system both requires the user to learn a new system. To me, both of
that carry more drawbacks than just reading the hex character by character, in
a group of 4.

I can give an example using the system in the tweet:

2F3E: twenty frost thirty ernest -- longer to read, 7 sounds.

2F3E: 2, F, 3, E -- shorter to read, 4 sounds.

Looking at that, I don't see the benefits and trade offs of that new
complexity, and that's why I asked for help :)

~~~
mjevans
I also prefer just reading off the short version; either in sets of (up to) 4
or 2, depending on the application.

For a mac address I'd not summarize and just read it off in 6 pairs.

For the example representation address on the wikipedia page...
2001:0db8:85a3:0000:0000:8a2e:0370:7334 (
[https://en.wikipedia.org/wiki/IPv6_address](https://en.wikipedia.org/wiki/IPv6_address)
)

Two Zero Zero One Colon Delta Bravo Eight Colon Eight Five Alpha Three Colon
(pause) Colon Eight Alpha Two Echo Colon Three Seven Zero Colon Seven Three
Three Four.

The part in the middle might need a better way of announcing, but given the
double digits in other parts of the address it seems more natural to read it
as a string of characters than to alter it.

~~~
ummonk
You missed a colon but yeah. (I would just pronounce a single zero in between
the colons instead of pausing to be extra clear)

------
zzo38computer
I don't like this system so much, but there are other systems for hexadecimal
pronouncing. I like the hex intuitor system, which uses "tex" for 0x10 and
"ten" for 0xA.

I have also seen other systems of representing the digits for hexadecimal,
such as Nystrom's system (which also includes pronounciation).

And now, looking at Wikipedia, there are more. (The hex intuitor system I
mentioned above is also called the Rogers system.)

~~~
akkartik
[http://www.intuitor.com/hex/words.html](http://www.intuitor.com/hex/words.html)

[https://en.wikipedia.org/wiki/Tonal_system](https://en.wikipedia.org/wiki/Tonal_system)

Do you have more links?

------
jimmcslim
See also [http://www.bzarg.com/p/how-to-pronounce-
hexadecimal/](http://www.bzarg.com/p/how-to-pronounce-hexadecimal/)

~~~
roland35
I was about to post the same link! In case you didn't click the link it is
from the show Silicon Valley and has the following number words:

    
    
      0xA_ : Atta
      0xB_ : Bibbity
      0xC_ : City
      0xD_ : Dickety
      0xE_ : Ebbity
      0xE_ : Fleventy

------
countryqt30
I totally fail the point of this article. Why not just say A, B, C, D, E, F as
the letters that they are? Works perfectly fine.

1F is just a two-syllable word. Just like "fiftysix" is.

~~~
bscphil
I agree with you, sort of, in that if we're inventing a new system we may as
well make it more intuitive for base 0x10 numbers while we're at it. At the
very least we need something like the thousands separator, otherwise something
like 0x10000000 becomes very difficult to say. Perhaps just use "word" as the
suffix for (2^4)^4 sized groups. [1] And then "biword", "triword", "quadword",
etc. So 0x10000000 would become "one aught aught aught word".

But then you start to see the advantage of named systems, because you end up
saying "aught" or "zero" a lot to distinguish "0xA" from "0xA0" within words.
"A salary of one aught aught word" doesn't seem as easy to me as "a salary of
one hundred thousand". So perhaps something ought to be done about 0x10 and
0x100, even if we only use them in situations that can be abbreviated like
that. Maybe 0x10 is "hex", so "base 0x10" becomes literally read as "base
hex".

[1] Of course this fixes a meaning for how many bytes are in a word, which a
lot of people aren't going to be happy with. ;-)

------
gurtwo
AC is annty-christ

~~~
ddingus
Of course it is! I never knew of these.

Such a computing lire, gem. I am going to say these first chance I get.

~~~
noonespecial
Stay F0 out there...

------
userbinator
That might be one of the earliest examples of someone trying to give names to
hex numbers (if I remember correctly, Knuth's TAoCP might've also contained
one), but this is one of the earlier pages I remember coming across on the
Internet about it:
[http://www.intuitor.com/hex/words.html](http://www.intuitor.com/hex/words.html)

------
mhugo
Remind me of Boby's "bibi-binary" :) [https://en.wikipedia.org/wiki/Bibi-
binary](https://en.wikipedia.org/wiki/Bibi-binary)

------
Zenst
It's amazing what naming conventions are used over time. In the 70's/early
80's "~" was (at least in programming circles in the UK) called a swan-hyphen,
today it is often called a tilde. Though I'm sure it has many other names that
have come and gone throughout the fashion of time.

~~~
teddyh
A fact which may be related is that Unicode contains a character which is in
effect a lengthened tilde character, called U+2053 SWUNG DASH: ⁓

Therefore, might your “swan hyphen” be a corruption of an original term “swung
hyphen”?

~~~
Zenst
Interesting, it may well have some bearing upon the UNICODE naming which came
about in 1991, which would be around the time that it's usage for "~" seemed
to wane out of use.

"#" was another one with many names that have consolidated over time, been
decades since heard anybody refer to it as a checkerboard, which was never as
elegant and can see why "hash" became the norm.

~~~
reaperducer
Unless it's on twitter, it's still either a "pound" or "octothorp" to me,
depending on context. Hash is a breakfast food.

~~~
teddyh
_This list derives from revision 2.3 of the Usenet ASCII pronunciation guide.
Single characters are listed in ASCII order; character pairs are sorted in by
first member. For each character, common names are given in rough order of
popularity, followed by names that are reported but rarely seen; official ANSI
/CCITT names are surrounded by brokets: <>. Square brackets mark the
particularly silly names introduced by INTERCAL._

 _# Common: number sign; pound; pound sign; hash; sharp; crunch ; hex; [mesh].
Rare: grid; crosshatch; octothorpe; flash; <square>, pig-pen; tictactoe;
scratchmark; thud; thump; splat._

[http://www.catb.org/~esr/jargon/html/A/ASCII.html](http://www.catb.org/~esr/jargon/html/A/ASCII.html)

So, according to the above, the most common name for # is “number sign”, and
the officiall ANSI/CCITT term is “square”.

Also, in the 1975 movie _Three Days of the Condor_ , the term “symbol for
number” is used, presumably referring to #.

~~~
reaperducer
I learned # from my father, who introduced me to electronics as a lad by
bringing a broken Telex machine home from work. He called it "pound," and it
stuck with me.

Also, I remember * being "splat" back in my PR1MOS and Vax days.

------
agalunar
Some friends and I wrote something similar as satire during undergrad. It’s
ridiculous, but I was (and still am) pleased how it rolls off the tongue.

[http://web.mit.edu/kade/www/misc/ieee4919.pdf](http://web.mit.edu/kade/www/misc/ieee4919.pdf)

------
FoeNyx
Also in 1968, the french singer — and hobbyist mathematician — Boby Lapointe ¹
proposed a graphical representation and pronunciation system for hexadecimal
numbers, named bibi-binary ². The pronunciation part is based on the
combinations of 4 consonants (HBKD) with 4 vowels (OAEI). It's probably less
practical than a system relying on similarities with words for native numbers,
but it was probably more of an artsy experiment and it produces shorter (and
maybe funnier) results.

¹
[https://en.wikipedia.org/wiki/Boby_Lapointe](https://en.wikipedia.org/wiki/Boby_Lapointe)

² [https://en.wikipedia.org/wiki/Bibi-
binary](https://en.wikipedia.org/wiki/Bibi-binary)

------
reaperducer
I'll have to tell my A01C about these.

And while we're talking hex semantics, is it just me being old, or do lower
case letters in hex values bother anyone else?

The only time I've been OK with this is when I've had to work with machines
that only have seven-segment displays.

~~~
XaspR8d
I tend to prefer lowercase since it reduces the number of confusable
characters, especially in handwriting (8/B, 0/D, 4/A), but I can understand
that numbers might typographically or semantically _feel_ uppercase, so
lowercase A-F creates a MIxEd cASe looK.

Is uppercase the older tradition? I'm ~30yo and I've been seeing both for as
long as I remember.

~~~
reaperducer
In my experience, it was always upper case until around the time CSS was
introduced. The article pictured has it in upper case and it's from 1968.

~~~
Izkata
HTML was as well, before CSS became commonplace. I still reflexively do it on
occasion when writing a root page (html/head/title/body tags).

------
castratikron
I'll pronounce numbers like 0xF000 as "F thousand"

------
hcrisp
Ok, but I'm still pronouncing DEADF007 as "dead foot".

------
jacksonj04
There's got to be some origin for those particular names - were they just lab
partners or something? I need to know!

~~~
lizzard
Last night I wrote to Robert Magnusson (the author of the 1968 article) to ask
him. Hope he writes back!

------
dejj
Did you notice the line "A01C annty christeen". I thought 616 (268 base 16)
was that number. We need to talk.

------
jl6
Wonder why they let “Ernest” into this scheme, with two syllables when all the
others have one.

~~~
albertsondev
Wonder why they let "Seven" into this scheme, with two syllables when all the
others have one.

------
iNate2000
Didn't Malcolm Gladwell talk about how the Chinese names for numbers were were
closer to their place values and therefore less confusing for calculations?

e.g. "50" is "five-tens" instead of "fifty"

~~~
interfixus
Que? "Fifty" _is_ "five-tens", numerically, semantically, and etymologically.

~~~
rtkwe
It's no where near as clear as the chinese version which is literally five
tens though. To know fifty is 50 and five tens you have to already know both
the meaning of number places and what fifty means, really hard to derive from
just the name or seeing 50 written out.

~~~
interfixus
Well, I'm not a native speaker. All I can say is it was crystal clear to me
when I began learning English at age ten.

~~~
rtkwe
It's not super hidden but you also already understood numbers at that age too
presumably so you already had most of the puzzle. As a native speaker I don't
think I ever broke the words down like that or had them broken down to me like
that (then again this would have been ages ago so maybe it was and I don't
remember).

------
segmondy
There was a time when people programmed by hex and punched in code using
strictly hex keyboard. I suppose this is what it was, even in the 90's, the
heath kits were hex only.

------
entwife
This appears to confuse the representation of a number, with the quantity it
represents.

------
dekhn
wondering if anybody gets the hanky code reference in the tweet.

~~~
lizzard
Well, a lot of San Francisco did, anyway!

------
almostdigital
betty oh-bet

------
detay
this is so impractical

------
starpilot
this is cursed.

