*says*“kibibyte”.

Someone asked recently on the Programmers Stack Exchange how hexadecimal numbers ought to be pronounced. In a valiant effort to pull an IEC and come up with a useful thing that nobody will use, here’s my system of pronunciation for hex numbers. The system is based on English (specifically American English) because it’s the lingua franca of programming. Enjoy.

Hexadecimal Number | Name | Decimal Equivalent |
---|---|---|

`0x0000 0001` |
One | 16^{0} = 1 |

`⋮` |
⋮ | ⋮ |

`0x0000 000a` |
A (ay) = ten | 10 |

`0x0000 000b` |
B (bee) = eleven | 11 |

`0x0000 000c` |
C (cee) = twelve | 12 |

`⋮` |
⋮ | ⋮ |

`0x0000 0010` |
Tex | 1 × 16^{1} = 16 |

`0x0000 0020` |
Twentex† = two tex | 2 × 16^{1} = 32 |

`0x0000 0030` |
Thirtex† = three tex | 3 × 16^{1} = 48 |

`0x0000 0040` |
Fortex† = four tex | 4 × 16^{1} = 64 |

`0x0000 0050` |
Fiftex† = five tex | 5 × 16^{1} = 80 |

`0x0000 0060` |
Sixtex = six tex | 6 × 16^{1} = 96 |

`0x0000 0070` |
Seventex = seven tex | 7 × 16^{1} = 112 |

`0x0000 0080` |
Eightex = eight tex | 8 × 16^{1} = 128 |

`0x0000 0090` |
Ninetex = nine tex | 9 × 16^{1} = 144 |

`0x0000 00a0` |
Tentex = ten tex | 10 × 16^{1} = 160 |

`0x0000 00b0` |
Eleventex = eleven tex | 11 × 16^{1} = 176 |

`⋮` |
⋮ | ⋮ |

`0x0000 0100` |
One hundrex | 16^{2} = 256 |

`0x0000 1000` |
One thousax | 16^{3} = 4096 |

`0x0001 0000` |
Tex thousax = one thoutex‡ | 16^{4} = 65536 |

`0x0010 0000` |
One hundrex thousax = tex thoutex | 16^{5} = 1048576 |

`0x0100 0000` |
One milliox = one hundrex thoutex | 16^{6} = 16777216 |

`0x1000 0000` |
One billiox†† = one thousax thoutex | 16^{9} |

`⋮` |
⋮ | ⋮ |

† By analogy with “thirty”, “forty”, &c.

†† This system is based on the short scale—one billiox equals one thousax milliox, and one trilliox is one thousax billiox.

‡ I introduced the term “thoutex”, equal to

`0x10000`

, because it’s more obvious that `0x0001 0000`

is “one thoutex” rather than “tex thousax”: four-digit grouping makes more sense in hex, but three-digit grouping is the default in English, so I had to come up with something, and the hypothetical “thouten” sounded good in my mind to adapt.Fractions are formed as in English, by adding -th: one texth, one hundrexth, one thousaxth, one thoutexth, &c.

Example:

`0xa400f20.cd`

*Ten hundrex fourtex thousax, fifteen hundrex twentex and twelvetex thirteen hundrexths**Ay hundrex fourtex thousax, eff hundrex twentex and ceetex dee hundrexths**Ay milliox, four hundrex thousax, eff hundrex twentex and ceetex dee hundrexths*

Happy pronouncing! :)

Eleventex? Surely you mean Aytex.

ReplyDeleteAnonymous: Aytex sounds too much like (i.e. identical to) "Eightex". In fact "Eight" sounds too close to "A" for comfort, but that aside if you chose something that didn't start with a T for the sixteens place, you could probably get away with it.

ReplyDeleteIn fact, since it's Mexico's independence day on the day this was written, how about "mex"? :)

0x00a0 - Atex

ReplyDelete0x00b0 - Betex

0x00c0 - Citex (Sitex)

0x00d0 - Detex

0x00e0 - Etex

0x00f0 - Fytex

for fractions, how about adding 'et' or maybe 'ette'? It much easier to pronounce and gives the impression of small.

In the 1960s I saw a paper in which someone presented a coherent system for pronouncing hexadecimal numbers. I probably have a printed copy of it around somewhere, but a cursory search for it online turned up nothing.

ReplyDeleteWant to enjoy spa service without any time barriers then by izspa is perfect solution for you. Book your schedules now.

ReplyDelete