*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! :)