UNPKG

base27

Version:

balanced septemvigesimal, base 27

54 lines (38 loc) 1.73 kB
# base27 Balanced septemvigesimal (heptavigesimal) to balanced ternary Usage: var sv2bts = require('base27').sv2bts; var bts2sv = require('base27').bts2sv; var n2sv = require('base27').n2sv; var sv2n = require('base27').sv2n; sv2bts('Z'); // 'iii' sv2bts('ZA'); // 'iii001' bts2sv('iii001'); // 'ZA' sv2n('ZA'); // -350 n2sv(-350); // 'ZA' Each base27 digit represents 3 trits: 0 000 0 +1 001 A -1 00i N +2 01i B -2 0i1 O +3 010 C -3 0i0 P +4 011 D -4 0ii Q +5 1ii E -5 i11 R +6 1i0 F -6 i10 S +7 1i1 G -7 i1i T +8 10i H -8 i01 U +9 100 I -9 i00 V +10 101 J -10 i01 W +11 11i K -11 ii1 X +12 110 L -12 ii0 Y +13 111 M -13 iii Z Currently only balanced base 27 is supported (-13 to +13). Analogous to [hexadecimal](https://en.wikipedia.org/wiki/Hexadecimal) (base 16) for binary, where each hex digit represents 4 bits; each septemvigesimal digit represents 3 trits. A more compact representation for [balanced-ternary](https://github.com/thirdcoder/balanced-ternary). See also [nonary](https://github.com/thirdcoder/nonary) (base 9, each digit = 2 trits). References: http://digitalcommons.butler.edu/wordways/vol26/iss2/2/ Sallows, Lee (1993) "Base 27: The Key To A New Gematria," Word Ways: Vol. 26: Iss. 2, Article 2. Available at: http://digitalcommons.butler.edu/wordways/vol26/iss2/2 -- uses unbalanced base 27 system: "\_" for 0, and then A-Z for 0-26