Balanced Heptadecimal - A Manifesto

If you’ve spent too much time in the company of nerds like me, you’ve maybe heard of the concept of counting in alternate bases. There are all kinds of weirdos out there advocating for different bases than the standard, comfortable decimal (base 10) that most of the world has settled on.

I’m not gonna get too in-depth on what a base is; if you’re here, you probably already know. (If you don’t and you want to look up more information, the search term you’re looking for is positional numbering system.) Instead I’m here to pose a simple question: Why are we focusing only on bases that make our lives easier?

Hi, my name is November and I’m here to talk to you about Balanced Heptadecimal.

A Worse Way To Count

We choose to use balanced heptadecimal, not because it is easy, but because it is hard.

Heptadecimal, aka suboptimal, aka septadecimal maybe except that sounds too much like “septic”, which is what this base is. We’re talking about base 17.

The name “suboptimal” was coined by conlang Youtuber jan Misali as part of their attempt to give every base a name that breaks away from the decimal-centric language we’re all steeped in. It made me laugh, but for the purposes of this page, we’ll be going with “heptadecimal”.

Base 17 isn’t a very good base. 17 is a prime number, so nice clean fractions like 1/2, 1/3, and so forth are represented with infinite repeating digits. Basically the only fractions you can represent nicely are ones with 17 or a multiple thereof in the denominator. In addition, you have to add more digits! Generally we use letters of the alphabet for additional digits (hence why hex code has a bunch of A’s through F’s scattered throughout), but when doing arithmetic with such numbers, it’s a pain to read.

We can “fix” those problems by implementing heptadecimal differently -- instead of using digits for 0 through 16, we’ll use digits for -8 through 8. On this page, I’ll be using the negative circled dingbat characters to represent these digits; ❶ for “-1”, for example.

Wait you can’t do th

Sure I can. Balanced ternary is base 3 but with the digits ❶, 0, and 1 instead of 0, 1, and 2. Signed-digit representation is an established math thing, it’s no big deal.

Unfortunately, this page isn’t accessible to blind readers. Actually, since I haven’t figured out how to pronounce negative digits, this page probably couldn’t even be read out loud at all. (To-do: Create a tonal conlang that uses this numbering system.)

So how does it work?

I lied, I’ll explain a little bit about what a number base really means. When you write a number in regular ordinary base 10, like for example:


...each digit means something different based on where in the number it is. The 1 at the beginning of the number isn’t the same as the 1 that’s one position from the end. Remember math class where they taught you about the “ones place”, “tens place”, “hundreds place”, and so on? In base 10, the number 17,017 really means:

  1 * 10,000
+ 7 * 1,000
+ 0 * 100
+ 1 * 10
+ 7 * 1

It’s the same in other bases. Base 12 has a “ones place”, “twelves place”, “144s place”, etc.; base 2 has a “ones place”, “twos place”, “fours place”, and so forth; and base 17 has a ones place, seventeens place, 289s place, 4913s place, and you get the picture.

So the number 17,017, taken as base 17, means:

  1 * 83,521
+ 7 * 4,913
+ 0 * 289
+ 1 * 17
+ 7 * 1

And you get the decimal number 117,936.

Note any BS number with only positive digits is written exactly the same way in regular heptadecimal.

Do you really have to use BS as an acronym for balanced heptadecimal? Even though you’re calling it “heptadecimal”, not “suboptimal”?


So how does it work, part II

Now for the negative digits!

They may sound weird, but they work exactly the same way as positive digits. Take the BS number 1❼, for example:

  1 * 17
- 7 * 1

And we find that the weird-looking number 1❼ is just our good old friend, decimal 10! Here’s all the BS integers from ❶0 to 10. If any of these representations confuse you, take a second to think about what each of the place values really stands for.



As you can see, we don’t even need a negative sign for negative numbers! If the leftmost (non-zero) digit is negative, then the whole number is negative!

Assorted cool facts


Anyway, this was just a fun little project I spent a couple days on after re-watching jan Misali’s “A Better Way To Count” video. In doing so, I:

Obviously I don’t really want to replace the decimal system with, uh, this, (unless...? 😳) but it’s funny to think about.

Further reading

To-do list

Add a section on arithmetic, maybe? I made a multiplication table, I might as well have a place to put it.

A balanced base-17 multiplication table.

(A white-background version of the table, if you prefer.)