Yeah; there’s a bit of awkwardness in that Babylonian mathematics fits in with the aesthetic much better but traditionally used context instead of a proper 0. Eventually they came up with a placeholder character, but they didn’t use it on its own.
60 is the next most obvious base to use after binary, I think, unless you happen to have 10 fingers. ;)
It seems to me you could make pretty good arguments for at least 3,4,6,8,12,16. Maybe 30 as well. You want a small base so you don’t have to memorize lots of tables / build complicated circuits, but a large base so that numbers don’t have too many digits; the tradeoffs here could push you to favour anything from 2 up to, I dunno, maybe about 20. You want a base with handy small factors because that makes some arithmetic tasks easier and introduces patterns into those tables that makes them easier to learn. Base 2 is particularly “natural” and has the advantage that single-digit multiplications can’t overflow but base 3 scores well on that front too if you make your digits −1, 0, +1, and has the extra advantage that you don’t need a special notation for negated numerals.
I think the small base argument dominates the large base argument for most use cases.
The main place the ‘too many digits’ argument carries weight, I think, is divisibility. It’s handy to be able to express a third as a single number instead of a sequence that consumes every bit you can give it. With 60, you have short representations of halves, thirds, quarters, fifths, sixths, tenths, twelfths, fifteenths, twentieths, thirtieths, and sixtieths.
You pay for that in having a larger alphabet, of course, which the Babylonians cheated on by using tallies (really, you should think of the Babylonian system as alternating places of (0-9) ones and (0-5) tens).
but base 3 scores well on that front too if you make your digits −1, 0, +1, and has the extra advantage that you don’t need a special notation for negated numerals.
Hmm, that is interesting. It’s also neat that it looks like truncation is a pretty natural form of rounding.
it looks like truncation is a pretty natural form of rounding.
When you truncate after (say) the units digit, the error is a sum of +- 3^-n, whose absolute value is at most 1⁄3 +1/9 + 1⁄27 + … = 1⁄2. Therefore, truncation equals round-to-nearest with the sole exception that if it happens that the digits after you truncate are either an infinite stream of ‘+’ or an infinite stream of ‘-’ then there was another equally-near way you could have rounded, which you might have preferred for one reason or another.
Does this rounding rule introduce any bias, as e.g. rounding halves consistently up or consistently down does in decimal arithmetic? Well, it seems like there’s symmetry between the two representations of 1⁄2 -- 0.+++++… (which gets rounded down) and +.-------… (which gets rounded up) -- and unlike the situation in decimal you don’t have one getting preferred because an expansion ending in all-0 is representable and one ending in all-9 isn’t.
So yeah, I think it’s fair to say that truncation = rounding and that exact halves are handled nicely. On the other hand, exact halves have two representations that round in different ways, whereas e.g. in binary at least 0.0111… and 0.1000… both round to 0.1. (I think there’s no way to make all these niggles go away together in any number system; there’s a certain ambiguity about halves however you write them, and the only question is exactly how it manifests.)
Yes, I agree that the allegedly-sexagesimal notation of the Babylonians is better thought of as a sort of compound alternating-base system. That seems inelegant enough to me that it’s not at all obvious that 60 is a better choice than, say, 12.
Note, by the way, that the same things get terminating expansions in base 30 as do in base 60, it’s just that some of them take longer to terminate. (Just as fractions like 1⁄16 terminate in base 10, just more slowly than they do in base 4, 8, or 16.)
Great story; it contained some LWian themes and was written in an style reminiscent of H. P. Lovecraft.
The mirror displayed output in “Babylonian numerals”. That would be sexagesimal wouldn’t it? Who new that the first Oracle AI would use base 60? :)
Thanks! :D
Yeah; there’s a bit of awkwardness in that Babylonian mathematics fits in with the aesthetic much better but traditionally used context instead of a proper 0. Eventually they came up with a placeholder character, but they didn’t use it on its own.
60 is the next most obvious base to use after binary, I think, unless you happen to have 10 fingers. ;)
It seems to me you could make pretty good arguments for at least 3,4,6,8,12,16. Maybe 30 as well. You want a small base so you don’t have to memorize lots of tables / build complicated circuits, but a large base so that numbers don’t have too many digits; the tradeoffs here could push you to favour anything from 2 up to, I dunno, maybe about 20. You want a base with handy small factors because that makes some arithmetic tasks easier and introduces patterns into those tables that makes them easier to learn. Base 2 is particularly “natural” and has the advantage that single-digit multiplications can’t overflow but base 3 scores well on that front too if you make your digits −1, 0, +1, and has the extra advantage that you don’t need a special notation for negated numerals.
I think the small base argument dominates the large base argument for most use cases.
The main place the ‘too many digits’ argument carries weight, I think, is divisibility. It’s handy to be able to express a third as a single number instead of a sequence that consumes every bit you can give it. With 60, you have short representations of halves, thirds, quarters, fifths, sixths, tenths, twelfths, fifteenths, twentieths, thirtieths, and sixtieths.
You pay for that in having a larger alphabet, of course, which the Babylonians cheated on by using tallies (really, you should think of the Babylonian system as alternating places of (0-9) ones and (0-5) tens).
Hmm, that is interesting. It’s also neat that it looks like truncation is a pretty natural form of rounding.
When you truncate after (say) the units digit, the error is a sum of +- 3^-n, whose absolute value is at most 1⁄3 +1/9 + 1⁄27 + … = 1⁄2. Therefore, truncation equals round-to-nearest with the sole exception that if it happens that the digits after you truncate are either an infinite stream of ‘+’ or an infinite stream of ‘-’ then there was another equally-near way you could have rounded, which you might have preferred for one reason or another.
Does this rounding rule introduce any bias, as e.g. rounding halves consistently up or consistently down does in decimal arithmetic? Well, it seems like there’s symmetry between the two representations of 1⁄2 -- 0.+++++… (which gets rounded down) and +.-------… (which gets rounded up) -- and unlike the situation in decimal you don’t have one getting preferred because an expansion ending in all-0 is representable and one ending in all-9 isn’t.
So yeah, I think it’s fair to say that truncation = rounding and that exact halves are handled nicely. On the other hand, exact halves have two representations that round in different ways, whereas e.g. in binary at least 0.0111… and 0.1000… both round to 0.1. (I think there’s no way to make all these niggles go away together in any number system; there’s a certain ambiguity about halves however you write them, and the only question is exactly how it manifests.)
Yes, I agree that the allegedly-sexagesimal notation of the Babylonians is better thought of as a sort of compound alternating-base system. That seems inelegant enough to me that it’s not at all obvious that 60 is a better choice than, say, 12.
Note, by the way, that the same things get terminating expansions in base 30 as do in base 60, it’s just that some of them take longer to terminate. (Just as fractions like 1⁄16 terminate in base 10, just more slowly than they do in base 4, 8, or 16.)