XXIIVV

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

Aha1AhateenA0hatyA00handred
Bbe1BbeteenB0betyB00bendred
Cce1CceteenC0cetyC00cendred
Dde1DdeteenD0detyD00dendred
Ehe1EheteenE0hetyE00hendred
Ffe1FfeteenF0fetyF00fendred

Hexadecimal to Binary Table

You can find a larger table, the midi table and the ascii table.

000004010081000C1100
100015010191001D1101
2001060110A1010E1110
3001170111B1011F1111

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

0123 4567 89ab cdef
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