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:
- 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/.
- 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:
- The letters B, C, D, and F correspond to the sounds that they most commonly make.
-
The consonants /h/, /ʃ/, /ð/ are each the first sound of
an English third-person pronoun: "he", "she", and "they",
and they are assigned to the vowel letters A and E which don't
have any obvious consonant sounds they should take.
- /h/, usually written with a single ⟨h⟩, is assigned to the letter ⟨a⟩ because the name of ⟨a⟩, /eɪ/ "ey", is contained within the name of ⟨h⟩ /eɪt͡ʃ/ "aitch".
- /ð/ and its voiceless equivalent /θ/ are assigned to the letter ⟨a⟩ because the word "they" /ðeɪ/ contains the name of the letter ⟨a⟩, /eɪ/ "ey".
- /ʃ/ and its affricate sibling /t͡ʃ/ are assigned to the letter ⟨e⟩ because the word "she" /ʃi/ contains the name of the letter ⟨e⟩, /i/ "ee".
- Also, the IPA letter ⟨ʃ⟩ (named "esh") looks like an integral sign, while a lowercase ⟨e⟩ is used in math to write the base of the exponential function . It just so happens that the exponential function has the special property that , so it's easy to remember that /ʃ/ is assigned to ⟨e⟩ since .
- The digits 0 through 9 are taken directly from the original mnemonic major system, but with some of their sounds taken away to be used elsewhere. The Wikipedia page suggests a number of mnemonics for these digits that I will not repeat here.
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:
- 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.
- 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.
- 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:
- Add the digits A through F.
- Split /θ/ and /ð/ from /t/ and /d/, and assign them to A.
- Split /b/ from /p/, and assign it to B.
- Split /k/ from /g/, and assign it to C.
- Split /d/ from /t/, and assign it to D.
- Split /ʃ/ and /t͡ʃ/ from /ʒ/ and /d͡ʒ/, and assign them to E.
- Split /f/ from /v/, and assign it to F.