Back to home

hexmajor mnemonic scheme

Last updated on .

This mnemonic scheme for memorising hexadecimal digits, which I suppose I am calling the "hexmajor mnemonic scheme", is a system of associating arbitrary sequences of hexadecimal digits with strings of English words based on their pronunciations. The English words are easier to memorise than the sequences of hexadecimal digits, and they can also later be unambiguously converted back into hexadecimal digits by examining the consonants in the words and finding the corresponding digits in the conversion table.

This system of mnemonics is an extension of the preexisting mnemonic major method to allow for memorising hexadecimal and not just decimal digits.

hexadecimal conversion table

This is the conversion table used by the hexmajor mnemonic scheme.

Digit Phonemes in IPA Examples
0 /s/, /z/ sock, zoo
1 /t/ tap
2 /n/, /ŋ/ bin, ring, rink
3 /m/ same
4 /r/ real, cord
5 /l/ slip
6 /ʒ/, /d͡ʒ/ fission, casual, badge, jar
7 /g/ vague
8 /v/ live
9 /p/ plank,
A /θ/, /ð/, /h/ thing, this, hike, warehouse
B /b/ lab
C /k/ cat
D /d/ dark
E /ʃ/, /t͡ʃ/ shake, ocean, charge, patch,
F /f/ fickle, phoneme
(none) all vowels, /w/, /j/

example of use

Here is an example of how one would use this table.

Let's say that, for some reason, you want to memorise the Unicode codepoint for the :eyes: emoji "👀", which is U+1F440. We could encode the hex digits "1F440" using some memorable phrase, such as "What ferraris??" Later, we could decode this phrase as follows:

  1. Take note of what consonants are used in the phrase. In this case, "what ferraris", pronounced /ˈwʌt fəˈrɑ.riz/ (maybe you pronounce it differently, but hopefully the consonants are the same) has the consonants /w/, /t/, /f/, /r/, /r/, /z/.
  2. Convert the consonants into the corresponding digits. In this case, the consonants /w/, /t/, /f/, /r/, /r/, /z/ convert into , 1, F, 4, 4, 0. Notice that the consonant /w/ was entirely ignored, not corresponding to any digit, which allowed us to use a word like "what" in the mnemonic phrase. Hence we have converted "what ferraris" back into the hexadecimal digits "1F440", as needed.

how to memorise the table

Of course, to be able to convert the mnemonic words back into the original digits quickly, you'd want to memorise the conversion table. These are the mnemonics that I personally use:

background on the mnemonic major system

The mnemonic major system, the system that the above system is based on, assigns each of the decimal digits 0 through 9 a set of consonants too.

The hexmajor converter's Decimal-only Mode in fact uses an implementation of this original system.

The following table details the digit-to-consonant correspondences.

Digit Phonemes in IPA Examples
0 /s/, /z/ sock, zoo
1 /t/, /d/, plus in my implementation, /θ/, /ð/ tap, dark, thing, this
2 /n/, plus in my implementation, /ŋ/ bin, ring, rink
3 /m/ same
4 /r/ real, cord
5 /l/ slip
6 /ʃ/, /t͡ʃ/, /ʒ/, /d͡ʒ/ shake, ocean, charge, patch, fission, casual, badge, jar
7 /k/, /g/ cat, vague
8 /f/, /v/ fickle, phoneme, live
9 /p/, /b/ plank, lab
(none) all vowels, /w/, /j/, /h/

Notice that my implementation may slightly differ from other implementations, in that it merges /ŋ/ with /n/, which are often spelled the same in English (e.g. "ran" has /n/; "rank" has /ŋ/) or may be used in free variation in some contexts (e.g. "increase" might be pronounced with either /n/ or /ŋ/).

why the hexmajor extended scheme is how it is

The design goals of the hexmajor extended scheme were as follows:

  1. Extend the mnemonic phoneme table to be able to assign a group of phonemes to each of the 16 distinct hexadecimal digits, in order to facilitate memorising Unicode codepoints usually written in base sixteen, for example.
  2. Be mostly intuitive to convert a word into phonemes and back into the number the word represents. Spelling can interfere with trying to list out what sounds are in a word, so I tried to not split up sounds that are often written the same.
  3. Be "backwards compatible" with the original mnemonic major system. That is, if you were to use the hexmajor system to encode a sequence of digits that only include digits 0 through 9, then decoding the words you chose using the original mnemonic major system should still yield your original string of decimal digits. This goal is here to prevent myself from getting confused by simultaneously knowing and using two separate, unrelated digit-to-word mnemonic systems.

The hexmajor extended scheme, to encode 16 distinct digits instead of just 10, needed to redistribute the phonemes to somehow find six extra phoneme groups. It just so happens that there are six pairs of digits in the original system (i.e. the digits 0, 1, 6, 7, 8, and 9) that have multiple phonemes assigned to them, distinguished by voicing, and hence we could make six new groups from this. However, due to the phoneme /z/ in English very often being spelled with an ⟨s⟩, I thought it would be too confusing to split /s/ from /z/ and chose to keep them together for intuitivity. Thus we have five new groups and need one more:

To create the final group I needed, I decided to split the dental fricatives /θ/ and /ð/ from the alveolar plosives /t/ and /d/. /θ/ and /ð/ are themselves a voiced/voiceless pair, but since they are always written the same, as ⟨th⟩, in English, I think it makes sense to give them the same digit. Unfortunately, I found that /θ/ and /ð/ were somewhat rare phonemes and didn't yield as many mnemonic words as I had hoped, so I decided to also put /h/, previously unused in the original system, in the same group as /θ/ and /ð/ to increase the number of available words.

This choice to include /h/ in the digit encodings leaves only vowels and semivowels unassigned.

In summary, the hexmajor system can be thought of as starting from the original mnemonic major system and making the following changes: