Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Are we using the final numeral system?
24 points by itry on May 24, 2014 | hide | past | favorite | 40 comments
In the earliest days of mankind, 13 was written as "............." The number of dots represented the number. Later the Egyptians had a different hieroglyph for 10, so 13 could be written as "#..." where "#" means 10 and "." means 1. Much shorter. 33 was written as "###...". Nice. Then the 0 was invented. And nowadays, we have "hieroglyphs" for all numbers up to 9 and we have this notion that every number is multiplied by 10^its position. Is that the end? Or will this look as ancient as counting dots in a million years from now?


I think everyone is misinterpreting the question. This isn't about the fact that we're using base-10. This is about the fact that we're using the Arabic "symbol-valued cardinal exponential" notation:

    ABC = (val[A] × base^2) + (val[B] × base^1) + (val[C] × base^0).
Examples of other systems, as the OP said, are tally-marks (uniform-valued ordinal additive) and Roman numerals (symbol-valued ordinal additive). The question is, is arabic notation optimal for doing simple math quickly? It might not be, given that e.g. mathematical savants seem to be doing something involving geometric/visual computation.


The Babylonians used a base 60 [sexagesimal] floating point system with the exponent implied by the context. Knuth discusses in in TAoCP volume 2, some of it referenced from The Exact Sciences in Antiquity.

https://en.m.wikipedia.org/wiki/Babylonian_numerals

http://store.doverpublications.com/0486223329.html


I'm going to take the contrarian view: yes. Inertia is very powerful. We'll stay with base-10.

Scientific notation is, not, btw, fundamentally a different number system; it only provides for approximation of (most) very large or very small numbers, unless you want to spell out all the digits before the exponent, which of course would defeat the purpose. It's still really base-10.


There are already other notations, like scientific notation which only needs a few digits to represent e.g. 2.3 * 10^8. Not to mention hexadecimal or even base-32 which is used in Bittorrent magnet links https://en.wikipedia.org/wiki/Magnet_URI_scheme#URN.2C_conta...


Good idea to mention the scientific notation. As it really is different from the positional notation. You can express some numbers in a shorter way then in the positional notation. Thats pretty nice. A variable length encoding with compression.

As for different bases: I consider these very similar to base 10. Maybe we will use base X in a million years, but that wouldnt be a big surprise. I was more thinking about a revolution like from "............." to "13".


Well the notation lets you tell how specific you are being about a number. Instead of saying "about 1,000" you can say 1 * 10^3 or 1.00 * 10^3 which give different amounts of information. So it's not exactly the same as base-10. And if you're talking about really big numbers, it's nice not to drag all those 0's around. It's just as big a step from .......... to 10 as from 10000000000 to 10^10.


Your question contains a very teleological narrative, in that you assume/recognize a natural evolution from the first to the last, with cause and result. Partially because you take all of mankind as one group.

Then, to look at your question: who's your "we"? The Chinese already use another system (in many contexts). African cultures use their own systems. And who knows what might happen in the future.


What do chinese and africans use?



If the OP is correct some Africans used the Egyptian system, tautologicly.


Chinese:

零一二三四五六七八九

Africans are a diverse group so I expect that they have many different systems.


Well, those are the numerals 0–9. You're missing 10, 100, 1000, 10000, 1000000… Chinese has a lot of number characters.

They use a system where a power-of-10 number is potentially preceded by a smaller count and followed by a smaller number. So, for example, 241 is represented as [2][100][4][10][1].


Right, they also have:

十 = 10 白 = 10^2 千 = 10^3 万 = 10^4 亿 = 10^8

This leads to the non-Western-like feature that the word for a million is 一白万 (1 10^2 10^4) whereas ten million is 一千万 (1 10^3 10^4) instead of 十白万 (10 10^2 10^4) which you might expect if you think using Western number systems and just internalize the rule that "白万 = million".


Joke: A Roman walks into a bar, sticks 2 fingers up and says, "five beers please".


I can vaguely imagine a more advanced numeral system based on geometric visualizations in 2 or 3 dimensions (rather than the existing 1-dimensional digit string), that is also more suited to probabilistic representations than fractions or decimals.

Relational reasoning is a key use case to be considered for any popular numeral system (How many do I have? How do I signal that amount to others? Do I have more or less?). For small, whole quantities (<100), alternate numeral systems could likely reach a similar learning curve as Arabic numerals. Very large and complex quantities, and things of a number theoretic nature are probably areas where a future numeral system will be differentiated.


Base-10 isn't the only thing cultures around the world came up with. I vaguely recollect that a handful used base-5, base-6 (spaces between knuckles plus each side), base-12 (with two hands) and base 20 (two hands, two feet; or two sides for each finger) -- and probably others I forgot. We still use base 60 (which we inherited from babylonians, and are still using to count time and angles). As well as base-2, base-8 and base-16 in computer science.

Whether we stick to base-10 or collectively decide to use something saner in the future (base-12? base-60?) is anyone's guess, but methinks inertia will spell doom to efforts to part from it, much like efforts to bring sanity to the calendar never took off in the 19th century.

This much is probably sure, though: we won't go back to colorful subdivisions. Nobody except the US (and Liberia) uses anything but the metric system nowadays.


Base 5, base 6, base whatever are not in way fundamentally different from base 10 (as a piece of curio: every base is "base 10" when you refer to it from within itself). They're all the same straightforward positional system and you just change how high you'll count before rolling over.


I wouldn't say we use base-60 for time or angles. We still use just 10 digits to write them down, so it's still in base-10.


It's definitely base-60. Carrying from one place to the next happens on powers of 60, even if you write the value of each place with base-10 numbers. And if you have an analog clock, you don't need base 10 at all.


I think we, i.e. those who already use base 10 and neglecting the possibility of us getting invaded in some way, will continue to use base 10 unless our civilisations fall apart. When we handed off the basics of our system to machines so that the low level tasks could be done quickly, the need for a more efficient system decreased. Out to a ridiculously large number, the basic components of our system are, when coupled with machines, essentially instantaneous.

What's 395847593874382754238754987 * 389756987476347629845 ?

1.5428437e+47

What could any system of numbers give me that would make that operation faster than typing it in?

My old math teacher's objection to this was:

"But what if you don't have a calculator?"

And I was not smart enough at the time to realise there'd be more serious problems in a world where I didn't have a calculator and wanted to multiply large numbers (hey, I was only six.)

But what she ought to have said, when I was objecting to learning the tables, was that it makes sense to be reasonably fast with the basics of a system, so that you can do things beyond linear algebra quickly. If you need to stop and work out the very basics of a system every time you do algebra you're probably not going to get very far. The low level tools you have available influence what you can build on top of them.

However, the faster you are at the low level the less the practical gains are. The value of reducing an operation that takes a minute to one that takes seconds is likely to be enormous - but the value of reducing that second to a half second is not likely to be as significant.

It's similar to handwriting. We had a superior system of handwriting that we used to teach: Shorthand. It was more efficient even than most people's typing. But the additional value of that speed over typing was not sufficient for it to remain.

Unless there's an argument that, say, our being a half second or so faster at the low level will allow us access to some new high-level concepts, I think we're likely to stick with it.


If the metric of the relevance is the % of numbers represented or the amount of calculations done with it, base 10 has effectively been dead for many years. It's only used to occasionally communicate numbers over extremely narrow bandwidth channels to or between organics.


What base are numbers represented inside a computer? Are there really little "things" holding 0s and 1s in DRAM for example? Or is it technically a different base?


"Are there really little "things" holding 0s and 1s in DRAM for example?"

At the moment, close enough to yes to make no difference. There's various ways of trying to score internet pedant points by fiddling around the very edges of that statement, but they're not relevant to a casual question. Yes, there is somewhere where you can find a physical thing that we might call a "one" and a "zero", even if it's not quite the same exact 1 or 0 you might get in your CPU due to parity or forward error correction or whatever other crazy thing you may have.

I mention those fiddly details to get them out of the way so I can bring up the bare handful of devices that actually functioned on true, no-kidding ternary: http://en.wikipedia.org/wiki/Ternary_computer Per Knuth's note in that article, as we continue to optimize the heck out of our silicon and as we start running out of ability to simply shrink, it's not inconceivable that ternary computing could make a comeback in the future. It is often casually assumed in current sci-fi and such that binary is the true "final" base of the future, but ternary is not out of the running.

On that note, see also: http://www.americanscientist.org/issues/issue.aspx?id=3268&y...

This would have next to no impact on anything else, though... in fact the first ternary computers would certainly simply run current programs, possibly recompiled and certainly at an efficiency penalty, but with no other end-user-visible effect.

(And let me warn you away from various speculations that ternary computers could somehow compute something binary computers can't. Turing Completeness, along with frankly obvious common (programmer) sense, precludes that. We already never truly work with bits... if we want bits we actually have to go out of our way to extract them from things at least the size of bytes, if not larger. Arguably modern computers are already in many ways Base256, as it is effectively impossible to manipulate anything smaller than an octet, which also obviously encompasses anything Base3 can do.)


Inside a computer you only have 0's and 1's. It's base 2 at the lower level.


Apart from a different base, how about something completely new? Nobody seems to expect that. Do we really have reached the be all and end all with the positional notation? Or will something come up that we cannot imagine by now?



I think Knuth's up-arrow notation (see http://en.wikipedia.org/wiki/Knuth%27s_up-arrow_notation) can be considered a newer way of representing numbers, and it continues the progression you describe in that each the older notations are usable for small numbers, but the newer notations are better for large ones: Knuth's up-arrow notation is only really required for truly gigantic numbers and as a result I don't think it would be generally useful. (As generally useful numbers aren't that huge.)


I thought Knuth's up-arrow notation was actually an operator rather than a numeral system. Just in the same way that multiplication is a short for sums, the arrow operator would be a short for exponentiation.


Bases are more energy efficient to compute with as they get closer to e, so in the future trinary numbers might be the way to count.


Interesting! I dint understand why, though. Do you have a reference for this?


Do you have a source for this? I cannot find anything backing up your claim. I'm very curious to read more.


probably not.

also, your description is incomplete: we also use binary, hexadecimal, octal and other numbering systems on a regular basis.


Probably, until our descendants are genetically engineered to have more/fewer than 10 digits...


That statement seems to imply that base 10 is a good system because we have ten fingers. That is probably the reason why it was created, but we don’t use it because it’s the best – we use it because everybody does.

Base 12 is actually a way more useful system since it is divisible by 2, 3, 4, 5 and 6 (vs. 2 and 5 for base 10), so 1/3 is not 0.3333, but 0.4.


1/3 is 0.333 in base 10 and base 12. 10/3=4 in base 12.


Wouldn't 1/3 be 0.4 in base 12?

412^-1 4/12 1/3

Whereas .33333... In base 12 would be 3.111... In base 12, =3*1/B =3/B


A bit late to the party, but here's what I wrote in my JavaScript book:

    Asides: Number Encoding
    This may be a bit of a strange concept to discuss in a book about JavaScript,
    but the numbers that we’re all familiar with is only one of many different
    kinds of encoding that exsits in the world.

    The numerical system that we encode our numbers with today came from ancient
    India, and was popularized by the Persians, hence the name Arabic-Hindu numbers.
    It is a positional system. For example, the number 15 represents 1 unit in 
    the tens position, and 5 in the singular position - essentially 1 × 10 + 5 × 1.
    Likewise, 314 is 3 × 100 + 1 × 10 + 4 × 1. This is read as 3 units in hundreds 
    position, 1 unit in the tens  position, and 4 units in the singular position
    There also exists numerical systems which are non-positoinal. Perhaps 
    the most famous example are Roman numerals. It’s also positional-ish, since 
    the position of the numerals are somewhat important for specific cases - 
    VI and IV mean very different things. The Mayan numeral system is another 
    example of a non-positional system, intermixed with a unary-ish system.

    Most positional numerical systems have somewhat evolved into the same state, 
    despite having different runes and conventions to represent the same thing. 
    But perhaps the greatest innovation to numerical systems is the representation
    of fractional numbers in a positional numerical system. It allowed us 
    to do really much fancier mathematics. However, as can be seen in the example
    with 1/3 above, representing a fraction in a positional numerical system is
    somewhat difficult.

    The reason why this section is even here is to function as a reminder to the
    reader that binary numerical systems used by modern computers are also 
    just another system - imagine it to be from another civilization, if you will
     - and not be intimidated by it.

     Speaking of fractions, the ancient Egyptians were one of the first civilizations 
    to use a fraction system (the Chinese were the other). Especially by modern day
    standards, it was a very interesting fraction system. The fractions used by ancient
    Egyptians are expressed only in terms of unit fractions
    - i.e. fractions with 1 as the numerator.

There was quite a lot of junk cut out from my book too about ancient chinese numerical systems - they had different numerical systems for different classes of people, and different numerical systems for different bases. And even had negative numbers!

Your question is actually a question of positional and nonpositional notation. I'm quite sure we'll stick with positional notations for some time to come, but uh, you never know about the future. For all we know, there could be a superior nonpositional system out there.


I don't think anyone knows what the world will look like in a million years. Will we be around as a species? Given the tendency toward exponential progress in all things we do, I tend to think that within 10,000 years, we'll either be off the planet or extinct. (That's not to say that we're destined to make the Earth uninhabitable, although that could happen. I just think we're "up or out" as a species. We'll either end economic scarcity or kill ourselves off within 500 years, I'd say, and the former means we're mining asteroids and, over the millennia, moving to other planets.)

If we get off the planet, it's unclear what we'll "look like" in many ways. We could be cyborgs. We could have enormous lifespans (millions of years). Unless we achieve such an immortality, we will continue to evolve (physically and culturally) and after a million years on different planets, we'll probably see all sorts of variation in terms of number of digits, representation of knowledge, and language.

So, looking a million years out, the answer is probably "no". Our system may still be alive, but if we're alive in a million years, I'd bet that we're off the planet and human culture will have forked, making the question of what is "final" unclear.

For the next 500 years (even 2500) I don't think we'll see another numeral system. Arabic Base-10 works, and there isn't much ti be gained in changing it . The glyphs themselves may evolve (our "Arabic" numbers look nothing like the original Arabic digits) but the concept will be the same.


> human culture will have forked

We have that situation already. The Pirahã have only 2 numers in their languge. Roughly translatable as "few" and "many".

And scientists use different bases and scientific notation.


Probably not.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: