Balanced Ternary

Setun computer using Balanced Ternary system

This is a non-standard but still positional numeral system. It's feature is that digits can have one of values -1, 0 and 1. Nevertheless its base is still 3 (because there are three possible values). Since it is not convenient to write -1 as a digit we'll use letter Z further for this purpose. If you think it is quite strange system - look at the picture - here is one of the computers utilizing it.

So here are few first numbers written in balanced ternary:

    0    0
    1    1
    2    1Z
    3    10
    4    11
    5    1ZZ
    6    1Z0
    7    1Z1
    8    10Z
    9    100

This system allows to write negative values without leading minus sign: you can simply invert digits in any positive number

    -1   Z
    -2   Z1
    -3   Z0
    -4   ZZ
    -5   Z11

Note that negative number starts with Z and positive with 1.

Conversion algorithm

It is easy to convert represent number in balanced ternary via temporary representing it as normal ternary. When value is in standard ternary, its digits are either 0 or 1 or 2. Iterating from the lowest digit we can safely skip any 0s and 1s, however 2 should be turned into Z with adding 1 to the next digit. Digits 3 should be turned into 0 on the same terms - such digits are not present in the number initially but they can be encountered after increasing some 2s.

Example: let us convert 64 to balanced ternary. At first we use normal ternary to rewrite the number:

$$ 64 = 02201_{3} $$

Let us process it from the least significant (rightmost) digit:

So the result is 10Z01.

Practice Problems