Hexdecimal numbers are a base 16 numeral system.
Hexadecimal numerals are widely used by computer system designers and programmers because they provide a human-friendly representation of binary-coded values. Each hexadecimal digit represents four bits.

Finger Counting
Finger binary is a system for counting and displaying binary numbers on the fingers of one or more hands. It is possible to count from 0 to 31 using the fingers of a single hand. In the binary number system, each numerical digit has two possible states(0 or 1) and each successive digit represents an increasing power of two.
Pinky | Ring | Middle | Index | Thumb | |
---|---|---|---|---|---|
Value | 1 | 2 | 4 | 8 | 16 |
For example, the number 10 is expressed by folding the index and ring finger, the number 20 is expressed by folding the thumb and the middle finger.

Verbal Counting
A | ha | 1A | hateen | A0 | haty | A00 | handred |
---|---|---|---|---|---|---|---|
B | be | 1B | beteen | B0 | bety | B00 | bendred |
C | ce | 1C | ceteen | C0 | cety | C00 | cendred |
D | de | 1D | deteen | D0 | dety | D00 | dendred |
E | he | 1E | heteen | E0 | hety | E00 | hendred |
F | fe | 1F | feteen | F0 | fety | F00 | fendred |
Hexadecimal to Binary Table
You can find a larger table, the midi table and the ascii table.
0 | 0000 | 4 | 0100 | 8 | 1000 | C | 1100 |
1 | 0001 | 5 | 0101 | 9 | 1001 | D | 1101 |
2 | 0010 | 6 | 0110 | A | 1010 | E | 1110 |
3 | 0011 | 7 | 0111 | B | 1011 | F | 1111 |

Proquints are identifiers that are readable and pronounceable.
We propose encoding a 16-bit string as a proquint of alternating consonants and vowels as follows. Four-bits for consonants, and two-bits for vowels:
0 1 2 3 4 5 6 7 8 9 A B C D E F | 0 1 2 3 b d f g h j k l m n p r s t v z | a i o u
Separate proquints using dashes, which can go un-pronounced or be pronounced "eh".
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f |
con | vow | con | vow | con |
Here are some IP dotted-quads and their corresponding proquints.
127.0.0.1 lusab-babad | 147.67.119.2 natag-lisaf 63.84.220.193 gutih-tugad | 212.58.253.68 tibup-zujah 63.118.7.35 gutuk-bisog | 216.35.68.215 tobog-higil 140.98.193.141 mudof-sakat | 216.68.232.21 todah-vobij 64.255.6.200 haguz-biram | 198.81.129.136 sinid-makam 128.30.52.45 mabiv-gibot | 12.110.110.204 budov-kuras
Uxntal Implementation
A minimal encoder implementation of proquints in 77 bytes of Uxntal:
@proquint ( short* -- ) ( c1 ) DUP2 #0c ,&emit-con JSR ( v1 ) DUP2 #0a ,&emit-vow JSR ( c2 ) DUP2 #06 ,&emit-con JSR ( v2 ) DUP2 #03 ,&emit-vow JSR ( c3 ) #00 ,&emit-con JSR #20 EMIT JMP2r &emit-con SFT2 #000f AND2 ;&con ADD2 LDA EMIT JMP2r &con "bdfghjklmnprstvz &emit-vow SFT2 #0003 AND2 ;&vow ADD2 LDA EMIT JMP2r &vow "aiou
The previous encoder can be transformed into the following proquints:
favab bubum bumag pabip gahiv favab bimiv bumag pabag fisiv pabab bihiv pabab dobol kubuz pabab busus pabad fosum difab dobol kudaf kidak kitim konir kudit kunob lanog lidok lomuz pabab basus pabad hohum difab dobol kudad kojiz lihab
Incoming: hako