**What is a balanced base?**

A balanced base is a base in which each digit can have either a positive or a negative value. e.g:

Digits of normal ternary: 0, 1, 2

Digits of balanced ternary: -1, 0, 1 (in this instance, often written -,0,+)

However, using two characters to represent a single digit is inconvenient and creates limitless ambiguities, so it is usual to use 1 bar to represent -1. However, HTML does not permit the use of overbars, so I shall instead use __1__, __2__... to represent -1, -2... For the purposes of this write-up, I shall be working in balanced base 5 (__2__, __1__, 0, 1, 2) for convenience, but the techniques described work equally well in any balanced base. It is usual, also for convenience, to use odd numbers as the base.

Fortunately, unlike irrational bases, numbers do have a unique representation in a balanced base. Exactly the same proof of this applies to balanced bases as to normal bases, because the proof is not dependant on the digits concerned being non-negative.

**Conversion of balanced base values to base 10**

This is remarkably straight-forward. Take the value 20__1__.

20__1__ >> 2x5^{2} + 0x5 + -1x1

= 49

Just as in base 10, eg 413 = 4x100 + 1x10 + 3x1, it is necessary to write out the value in full and then resolve.

**Counting in a balanced base**

In a normal assymetric base, counting works as follows (arbitrarily starting from 17):

17

18 (increase right hand digit by 1)

19 (increase right hand digit by 1)

20 (right hand digit could not be increased, so set it to the smallest possible value and increase the next digit along by 1)

The same system works for counting in a balanced base. Starting from 10:

11 (increase right hand digit by 1)

12 (increase right hand digit by 1)

2__2__ (right hand digit could not be increased, so set it to the smallest possible value and increase the next digit along by 1)

**Arithmetic in a balance base**

For the purposes of arithmetic, it is necessary to return to the same method used in primary school addition: that is, work with single digit at a time and memorise the results of each combination of digits. Then the same rules of carrying etc. apply as with base 10.

**Addition**

The table of values for addition of single digits is:

__2__ __1__ 0 1 2
---------------
__2__| __1__1 __1__2 __2__ __1__ 0
__1__| __1__2 __2__ __1__ 0 1
0| __2__ __1__ 0 1 2
1| __1__ 0 1 2 1__2__
2| 0 1 2 1__2__ 1__1__

eg 1__2__+
21
---
1__21__
---

Checking this in base 10:

1__2__ >> 3 (by the method already described)

21 >> 11

1__21__ >> 14

And 3 + 11 does indeed equal 14.

**Subtraction**

With subtraction, it is possible to use another table of values, or to rely on a useful result of balanced bases. That is, to negate a value, simply toggle the presence of bars.

eg -21__1__ = __21__1

This is obvious when you consider expressing a number as each of its digits *d* times the appropriate power of the base *b* (for this is a characteristic of all balanced bases), where all members of *d* ε {__2__, __1__, 0, 1, 2}:

-(d_{0} x b^{n} + d_{1} x b^{n-1} ... +
d_{n} x b^{0}) = -d_{0} x b^{n} + -d_{1} x b^{n-1} ... +
-d_{n} x b^{0}

Clearly, the digits of the result are just the negations of the original, and are still all members of the required set {__2__, __1__, 0, 1, 2}

This relates to subtraction because a - b = a + (-b), so it is sometimes easier to negate the second number and then perform addition. However, if you prefer to do raw subtraction, the table of values for each combination of digits is:

__2__ __1__ 0 1 2
---------------
__2__| 0 __1__ __2__ __1__2 __1__1
__1__| 1 0 __1__ __2__ __1__2
0| 2 1 0 __1__ __2__
1| __1__2 2 1 0 __1__
2| 1__1__ 1__2__ 2 1 0

**Multiplication**

Multiplication, like addition, is best handled in the primary school fashion. The table of values for the digit combinations is:

__2__ __1__ 0 1 2
---------------
__2__| 1__1__ __2__ 0 __2__ __1__1
__1__| 2 1 0 __1__ __2__
0| 0 0 0 0 0
1| __2__ __1__ 0 1 2
2| 1__1__ __2__ 0 2 1__1__

eg 20__1__ x
1__1__
----
__2__01 +
20__1__0
----
2__21__1
----

Checking in base 10:

20__1__ = 49

1__1__ = 4

22__21__1 = 196

And 49 x 4 is indeed 196, an interesting number in itself.

**Division**

The only method that I know of for division is a rather exhaustive parellel of the primary school method. This is something that I have been unable to improve, so if you can devise a better way, msg me or add your own write-up below. If I think anything up, I will of course add that.

**And now, a request**

This article has taken me *absolutely ages* to format in HTML, so if you spot a typo, please msg me before downvoting. The amount of time I spent fiddling has almost inevitably created a few typing errors. Thanks.