## 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.

PinkyRingMiddleIndexThumb
Value124816

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 1A A0 A00 ha hateen haty handred be beteen bety bendred ce ceteen cety cendred de deteen dety dendred he heteen hety hendred fe feteen fety fendred

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.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