53 comments

[ 2.9 ms ] story [ 84.7 ms ] thread
Below is a slightly-modified comment I wrote 59 days ago on benefits of Duodecimal (Base-12) over Decimal and Hexadecimal.

Sexagesimal takes the benefits of Duodecimal further by introducing a nice factor of five into the mix, though at the expense of 48 extra digits.

Base-12 is a nice sweet spot for having high number of divisors vs the number of digits in the base.

-----

I was about to post that in my opinion base-12 is superior to base-10. But someone beat me to it. In a sci-fi novel I'm writing, an advanced alien civilisation uses base-12.

As to your question specifically regarding base-16 instead of base-12, it depends.

Decimal itself is just a bizarre choice, most likely due to humans having literally ten digits. In decimal we can represent exact fractions of 1/2, 1/5, and 1/10 (without repeated decimals like 0.33333 for 1/3). Counting by fives (and twos) is very easy. But choosing prime factors of 2 and 5 is a strange choice in itself. Why skip 3? Why is it more useful to easily represent fraction 1/5th as 0.2 instead of 1/3rd? How often do we use fifths?

Hexadecimal in one sense is easier, all prime factors are two. So we can represent 1/2, 1/4, 1/8, and 1/16 exactly.

Duodecimal (Base 12) is very convenient for having a high proportion of exact fractions. Eg - 1/12, 1/6, 1/4, 1/3, and 1/2 can all be represented exactly. I'd argue in everyday use we're more likely to consider 1/3rd of something than 1/5th.

Counting by twos, threes, fours, and sixes is easy. Watch, let's count to 20 (24 in decimal) by different amounts.

By 2's : 2, 4, 6, 8, A, 10, 12, 14, 16, 18, 1A, 20.

By 3's : 3, 6, 9, 10, 13, 16, 19, 20.

By 4's : 4, 8, 10, 14, 18, 20.

By 6's : 6, 10, 16, 20.

And conversely counting to 1 exactly by different fractions.

By 1/6th : 0.2, 0.4, 0.6, 0.8, 0.A, 1.0

By 1/4th : 0.3, 0.6, 0.9, 1.0

By 1/3rd : 0.4, 0.8, 1.0

By 1/2th : 0.6, 1.0

Base-12 offers four handy subdivisions (excluding 1) instead of two for decimal or three for hexadecimal. That beats hexadecimal using fewer unique digits. It beats decimal by two using only two extra unique digits.

And I think it's these reasons it was chosen for various historical subdivisional units (inches per foot, pence per shilling).

The other item to consider is the relative number of unique values per digit. I'm not sure of the utility of having 10, 12, or 16 here.

At one extreme, while binary is useful for discretising signals in digital logic, using only zeroes and ones becomes cumbersome for daily use at higher numbers. Once we're at base 10 and higher, I'm not sure how much here extra digits help or hurt.

> How often do we use fifths?

I can't say I use thirds much more often than fifths.

You might use them more if they were more convenient in your number system.
Maybe not. Case in point, our current time measurement system.

We often talk about half an hour and a quarter of an hour.

But almost never about a third of an hour or a fifth of an hour.

A third of an hour is 20 minutes, which we talk about all the time. We just don’t call it “third of an hour”…
Yes but that's not in relation to the hour but in relation to the sub unit of minutes.

How often do you talk about 20 minutes because you can neatly stuff 3 of those time periods in one hour?

25 and 50 minutes are more natural than 20 minutes from decimal POV. How often do you talk about them vs 20 and 30 minutes?

I'd say the fact that 15, 20 and 30 fit nicely into an hour plays a role in their popularity, even if you don't realize you use them for that reason.

> 25 and 50 minutes are more natural than 20 minutes from decimal POV.

Not really. Quarter hours and half hours are natural units. This is true no matter how many minutes we divide an hour into. There's nothing special about "25" when you're building up from 1. 25 is only special when you're splitting up 100, and nothing uses 100-minute blocks so that doesn't happen.

> I'd say the fact that 15, 20 and 30 fit nicely into an hour plays a role in their popularity

I'm skeptical for 20. I think 20 being a nice round number plays a much bigger factor here. If hours were 65 minutes I think you'd see just as much use of "20 minutes".

If 20 minutes was used because it's round, then we would expect 40 minutes to be used commonly. I'd say 45 minutes is used much more often.

As for non-time-related units, I hear 25 deko more often than 20 deko when buying food. I don't think there's really a distinction between building up and down. When you're talking about 250 meters do you build up from meters or down from kilometers? I think both.

> How often do you talk about 20 minutes because you can neatly stuff 3 of those time periods in one hour?

Dunno. I personally 'visualize' 20 minutes as a third of an hour. I don't know how common it is to actually stuff an hour full of 20 minute periods, but it happens - you see a schedule with X:00, X:20, X:40. Multiples of 15 or 10 minutes do seem to be more common in that case.

But it definitely matters to some extent that it's a divisor. Consider how rare 25 minutes is compared to 20 or 30. If you look at it only as a number of minutes, 25 seems a bit less 'round', but not too much; we often say "25 cents", after all. (And it's 5 squared and a quarter of 100.) But 25 minute periods are less convenient to calculate with, because adding them tends to result in odd/less consistent minute values, because it's not a divisor of 60.

I have a family of 6. I often divide a cake by 6. If my number system makes it more convenient to divide by 8, that doesn't really change my workload.
Dividing by both 6 and 8 (also 2, 3, 4, 9, 12, 16, 18, ...) is easy in a duodecimal system. In a sexagesimal system it’s additionally easy to divide by 5, 10, 15, etc.

I’m not sure what your point is. If you have a family of 7 or 11, you’re probably going to have a bad time using positional arithmetic regardless.

The point here is that decimal is noticeably less efficient and less regular than some alternatives.

> I can't say I use thirds much more often than fifths.

If you bake or cook using imperial units, 1/3 comes up much more often than 1/5, in my experience.

What are the advantages of duodecimal over heximal/base-6. Since they have the same prime factors, the same fractions are representable as terminating decimals, right? With larger numbers you would use fewer digits. Anything else?
(comment deleted)
Ease of division by 4 mostly. Quarters are commonly used factors. This is probably also why Babylonians used 60 instead of 30.
I always thought this partially had to do with how many oars a Babylonian boat had, but I can't find any reference to that now.
Humans can comfortably and reliably count to twelve on one hand by pointing the point of their thumb to each of the twelve phalanges on the other four fingers.

Why would you give up half that range?

A big point of hand counting is displaying numbers silently across the room. Thumb-counting finger sections is almost worthless for this.

Counting to yourself using hands is not really all that useful for mental arithmetic, IMO. I don’t consider that a particularly meaningful or practical metric by which to judge number systems.

It is common to represent real signals as base 4 too, not just binary. Representing a disconnected and erroneous signal in this way.

Base 3 used for representing erasure codes. Etc.

  Decimal itself is just a bizarre choice, most likely due to
  humans having literally ten digits.
I think that's probably a myth and there's little reason to think it's related to the number of fingers on our hands. People who count using body parts to keep track of multiples don't just use their fingers, but their knuckles, too, and sometimes other body parts. Lest you think that would naturally give rise to a power of 10, some extant systems only use the 12 knuckles of your four fingers--index, middle, ring, and pinky.

The 10 fingers explanation seems obvious only because of confirmation bias, representativeness bias, etc. Even a cursory survey of appendage-based counting systems makes the number 10 much less likely than we naturally think. Include all historic numeral systems and base 10 disappears into the mix altogether.

We get base-10 from the Hindus. Perhaps some ancient Hindu philosopher actually choose 10 because of our 10 fingers. But there's nothing obvious about it. As you amply point out, there's plenty of reasons to choose some other base, and plenty of civilizations did just that.

We get the strictly positional numeral system from the Indians. But base 10 was also used by people in various other places and some earlier (Greeks, Minoans, Egyptians, Romans, Semites, Chinese, ...)

The source for most (all?) base ten systems was almost certainly finger counting, though I'm not sure how useful archaeological / linguistic evidence is about this in many cases.

Isn't knuckle counting and the like just a hack on top of finger counting, and finger counting would naturally lend itself to base 10 in humans. It would take some pretty extraordinary evidence to convince me that we use base 10 for a reason other than starting off with finger counting.
The Babylonians already used a composite-ish system for numbers < 60: They had a different symbol for 10. However, smaller numbers were represented by repeating the unit symbol (which is not very clever).

I guess that the least confusing transcript to modern notation would be something like 7, 24

to represent 7 * 60 + 24 = 444

> Below is a slightly-modified comment I wrote 59 days ago on benefits of Duodecimal (Base-12) over Decimal and Hexadecimal.

I think you mean 4B days ago.

The weird part about switching to a different base is that they usually reappropriate some of the same symbols from base-10 but redefine their meaning.

Anyone who wants to use a different base needs to use a separate character set. Think about how much easier it would make recognition and how much ambiguity would be prevented. (But, for love of all that's sacred, please not emoji.)

So, I like the article's Babylonian system better for that reason (anyone else reminded of mahjong tiles?). It probably saved a lot of confusion back in the day if there were different systems encountered by traveling merchants or the like.

Someone might argue that, e.g., the the single digit number n is the same in all bases >= n+1 ('03' in base 4 == '03' in base-10). I'd counter that supports my argument about the ambiguity that results from symbol reappropriation ('30' base-4 != '30' base-10).

Apologies if this idea is even more idiotic than I admit it sounds or if I'm reinventing someone else's wheel. I've gotten used to hex and binary probably because I started learning them as a kid. The formatting of alternate number bases and zero-padding does help tremendously, but that again belies the avoidable ambiguity inherent.

If multiple bases were in play, the best fix may be to just define the base for every number.

3₁₀ = 3₁₂

30₁₀ ≠ 30₁₂

Might be simpler to explain if you keep using single symbols for digits, like modern base 36 or 64, instead of mixing positional and nonpositional numerals.
Did you genuinely find it difficult to parse the comma delimited representation near the bottom of the article? Just curious. It seemed very natural to me, a minor variation on British style thousand separators.
Maybe ':' would be a more familiar separator because of hours, minutes and seconds (yeah, hours don't go up to 60, but whatever).
Myself, not really given the context in the article. If I was shown this without context it would be pretty confusing. Using : would be better as or would suggest clock which is base 12 plus base 60... Letters are clearer still if given the base identifier - commonly subscript number.

The suggested notation would make for interesting puzzles.

I think the basic idea is that highly composite numbers [1] make good bases. It's a trade off between the number of divisors of the base and the number of digits we want to learn.

Note that both 12 and 60 are such numbers.

[1] https://en.wikipedia.org/wiki/Highly_composite_number

Also it looks like the Babylonian is a composite system, where the 'digits' are represented in base 10 (the 10s use a different digit, but it doesn't matter). They could alternatively use base 12 for this digit.

Yes, composite numbers have many advantages. Working in base 60 = 2^2 * 5 * 3, has advantages of working in base 2, base 5, and base 3.

In base 10, you can quickly spot multiples of 2, 5, and ten (or alternatively, reduce any number module 2, 5, or 10).

> base 60 = 2^2 5 * 3, has advantages of working in base 2, base 5, and base 3.*

... and 4 and 6 and 10. (and 12, 15, 30, 60)

psh, it's 2017. Clearly we should switch to hex, ditch scientific notation and decimal points and all that difficult junk, and just use IEEE 754 double precision notation for all our calculations. Granted the sign bit in front makes hex notation a bit awkward but I believe it will give us a nice kickstart for when we will inevitably be subsumed by our AI overlords.
Sixteen doesn't have 3 as a factor. IIRC, it's not possible to represent .1 (or is it .2) accurately in IEEE 754.

Better to use duodecimal.

> IIRC, it's not possible to represent .1 (or is it .2) accurately in IEEE 754.

> Better to use duodecimal.

Assuming you mean the decimals 0.1 and 0.2, they can't be represented as terminating duodecimals (which is different from not being represented accurately!), either. Whatever base you choose, someone's favourite fraction won't have a terminating expansion.

IEEE754 includes two decimal floating point basic formats: decimal64 and decimal128. 0.1 can be accurately represented.

Of course in any base there will be some non-terminating representations of rational numbers, so changing the base of the floating point system changes which numbers these are but does not eliminate them.

I'm not sure why the author included 'floating point' in the title (probably to hint that the Babylonians did not use a symbol for zero, and had the point floating in blank space). To technical-minded people, floating point is synonymous with hardware that computes using a floating point representation, so this is a bit deceiving.
The ancient Mesopotamian (Sumerian/Akkadian) system was floating point. The exponent was implied rather than explicitly written though. So 1/120, 1/2, 30, and 1800 were all written the same way.

Modern 'scientific notation' is also floating point.

Ahh, that explains a lot. Thanks.
For a century up to the 1970s most engineering calculations were done to three decimal digits with implied-exponent floating point hardware¹.

¹ https://en.wikipedia.org/wiki/Slide_rule

(comment deleted)
is synonymous with hardware

Wait, no it isn't. It's about the representation (in contrast to 'fixed point'), the hardware is an implementation detail.

The article is completely irrelevant to floating-point math. I guess even Scientific American has to attract clicks.
(comment deleted)
A bit of topic, but I'd like to see how practical continued fractions could be used in day to day calculations. It's mainly a matter of having decent arithmetic algorithms.

Continued fractions have a lot of cool properties that positional notation doesn't:

* Terminating expressions are exactly the rational numbers, * All (eventually) repeating expressions are precisely the roots of some quadratic polynomial (e.g. √2 = [1;2,2,2,...]), * Truncated expressions of irrationals give best approximations to their irrationals

Also, some famous irrationals have easy to remember patterns in their continued fraction representation:

e = [2;1,2,1,1,4,1,1,6,1,1,8,…] Φ = [1;1,1,1,...] (the golden ratio) Bessel(1,2)/Bessel(0,2) = [0;1,2,3,4,5,...]

I've been using reciprocal pairs for mental division for as long as I can remember and now I have a name for the process. I especially find myself using them while calculating distances while running or driving with little interruptions and wanting to avoid the mental load of long division.