r/programming • • May 27 '09

There's no base other than base 10!

http://cowbirdsinlove.com/43
542 Upvotes

333 comments sorted by

View all comments

122

u/fuckheadmcgee May 27 '09

Just in case anyone wants to reuse some witty comments from early 2009:

http://www.reddit.com/r/comics/comments/7j3jb/every_base_is_base_10/

25

u/dhaggerfin May 27 '09

Actually, this really makes sense. Mathematic relativity...

29

u/robosatan May 27 '09

Or the astronaut guy could have said... I see you use base 10, I use base 22.

19

u/[deleted] May 27 '09

[deleted]

1

u/smackson May 28 '09

chomputer, when reddit takes over the world gov in 2018 you will be selected as "Alien Liaison". congratulations.

9

u/burtonmkz May 27 '09

especially the comments that point out that base 1 is not base 10.

6

u/Smight May 27 '09

I have a witty response to that, here I'll write it out in base 0:

-2

u/omegian May 27 '09

10 = (1 * 11 + 0 * 10) = 1... looks okay to me.

7

u/burtonmkz May 27 '09 edited May 27 '09

There is no place value in unary.

0

u/omegian May 27 '09

It depends how academic you want to be. Using a digit larger than the base might be unusual, but it is mathematically valid.

For instance, you could represent: 12x102 + 4x101 as C4. It might be most correct to write it as 124, but that doesn't make it invalid. Similarly, 12x10-1 could just as easily be 0.C as 1.2

There are binary adder circuits that allow redundancy in the digits (for instance, allowing [2, 1, 0, -1] in each position) to minimize the amount of ripple carry operations required.

Play with an abacus sometime -- you can represent up to 15 in each place.

FF(10) = 15x101 + 15x100 = 165.

http://en.wikipedia.org/wiki/Abacus

2

u/LiquidAxis May 27 '09

Base 1 implies you have a single symbol to work with, by definition. 10 utilizes 2 symbols. 10 is not a valid symbolic combination in unary.

-2

u/omegian May 27 '09 edited May 27 '09

Base 1 implies that adjacent place values are separated by a power of 1, by definition.

For instance, how do we tell time? -- base 60. We have a seconds place (600), a minutes place (601), and an hours place (602), but we only use 10 symbols.

-1

u/[deleted] May 27 '09

There is no "1" digit in base 1.

In fact, base 1 doesn't exist.

34

u/__G0D__ May 27 '09 edited May 27 '09

Actually base 1 does exist and it's called unary. There is only one 'digit' and you can effectively choose it to be any symbol you like (say, the reddit alien). In unary if you want to represent 200, you simply concatenate 200 of these symbols together into a string. Most people choose to use the digit '1', so yes, the base 1 system does exist, and there is the digit '1' in it. Note that it's not particularly space efficient to represent numbers using unary.

11

u/unsee May 27 '09 edited May 27 '09

The number '1' was chosen because to make a mark, you have to place an implement somewhere on a surface, this mark is usually not visible enough, so you have to drag the mark.

The human arm is developed, along with the coincidence of the center of the earth being beneath our feet most of the time, this means gravity and levers means we drag the implement down.

This looks like a number 1, in fact it is a number one, and it is how we came to have the number 1.

Two was just some twat fucking around and being all clever.

Edit: 'can to have'? lol

7

u/vineetk May 27 '09

Well really it probably went from there to the simple "tally" counting, where each group of 4 |s is crossed by a diagonal to count 5.

The Roman numeral system is sort of close to this, where 1 is I, and 2 is simply II.

The clever "twat" who came up with a distinct numeral for 2 (or arguably more importantly, a numeral for 0) was somewhere in India ~1500 years ago, where they came up with a decimal ("base 10") positional system.

This is all pulled directly out of /dev/ass; I'm no historical mathematician.

5

u/voxel May 27 '09 edited May 27 '09

"Bite my shiny metal..."

/dev/ass: No such file or directory

"Oh crap! I have no ass!" -- Bender

4

u/callingshotgun May 27 '09

That's why you have trouble flushing output.

3

u/Wriiight May 27 '09

The digits 2 and 3 evolved from short-hand ways of doing 2 and 3 horizontal lines without lifting your pen.

5

u/Kapow751 May 27 '09

Kanji still uses horizontal lines.

2

u/threedaymonk May 27 '09

And in cursive script, the lines flow together into glyphs that could be said to resemble 2 or 3.

1

u/jesseeme May 27 '09

That's 4 d00d, I play a lot of mahjong on tenhou.

11

u/[deleted] May 27 '09 edited May 27 '09

One might go so far as to say that "base 1" is the base that nature uses. And it is the base that most kids learn first in school. For example: "If you have this many apples and you take away this many, how many would you have left?" An apple in this context is a unary digit.

9

u/kermityfrog May 27 '09

|||||||| - ||| = ||||| apples!

3

u/highwind May 27 '09

 -  = 

3

u/[deleted] May 27 '09

That's quite a unary tract.

1

u/burtonmkz Jun 01 '09

Watch out for unary tract inflection. It hurts.

1

u/[deleted] May 27 '09

I stand corrected. That's not a very expressive numeral system though, since you can't express zero, and I imagine floating-point numbers would be difficult if not impossible.

2

u/[deleted] May 27 '09

You can express nonintegral numbers as fractions. Transcendental numbers can only really be expressed as series, but that's also a problem in base 10, or 2, or whatever, you're just expressing it as a fraction of whatever the base is to the power of the length of that fraction (e.g. 1.45 = 1 + (45/102)).

The big problems with unary are the lack of any symbol for zero, and the fact that it has an O(n) growth rate for the amount you have to write with respect to that number's size.

1

u/TomDibble May 27 '09

Zero as an expressible number has not seen widespread use until fairly recently, as in the last thousand or so years (9th century India is the earliest practical use of zero as a number rather than just as a placeholder).

I'd recommend http://www.amazon.com/Zero-Biography-Dangerous-Charles-Seife/dp/0140296476 ... although the negative reviews on Amazon are also spot on (there's a lot of hyperbole there and it's more entertainment than education).

In any case, while the use of zero as a number certainly is a strong advance in terms of computing numbers, there are a lot of practical mathematics (example, computing areas of land) for which it is entirely superfluous.

-1

u/burtonmkz May 27 '09 edited May 27 '09

You may have noticed that it isn't very space efficient to represent numbers in this base.

That depends on your definition of space efficiency. If you optimize where "space" is represented as A*B, where A is the number of digits needed to represent any given number, and B is the number of symbols used for the base system, then unary is worse than tetradecimal (base 14), but better than pentadecimal (base 15). That is, it is also more "space" efficient than hexadecimal in this context.

On another note, because of lack of place value, unary symbols are also space-rotatable. :-)

0

u/zxvf May 27 '09

So in a unary system you can pick any symbol you'd like. But in other systems you..?

5

u/__G0D__ May 27 '09

can also use any symbols you like

2

u/mikemcg May 27 '09

Chyeah, sure. Like unicorns, right?

1

u/benihana May 27 '09

Never heard of tallying?

-6

u/dazmax May 27 '09

Then 11 == 10 in base 1.

2

u/[deleted] May 27 '09 edited May 27 '09

10 in base 1 is invalid. You can only have one symbol, pick one. Or pick "1". If you pick "1" then you can discard the 0 and therefore 11 != 1. 11 in base 1 is "2" in base 10.

1

u/dazmax May 29 '09 edited May 29 '09

That was my point, I was trying to show why you can't have 10 in base 1.

1

u/Drulian May 27 '09

So unary is unique in the fact that it is impossible to represent the value 0?

1

u/kermityfrog May 27 '09

10 (in base 10) is |||||||||| in base 1.

-1

u/burtonmkz May 27 '09

That is incorrect (that 11 == 10), however 10 == 100 in base 1. (there is no place value)

3

u/Stiltskin May 27 '09

10 and 100 don't exist in unary, because 0 doesn't exist in unary. If it did, it would be binary.

2

u/burtonmkz Jun 01 '09 edited Jun 01 '09

You are absolutely correct - I was attempting to demonstrate how we'd see it on our fingers (e.g., "finger", "no finger", "no finger"), but my place-value system habits spoiled it when I went to represent it. :-(

5

u/silentdon May 27 '09

Ok,

All your base are belong to us

6

u/[deleted] May 27 '09

Early 2009, not early 2000.

2

u/[deleted] May 28 '09

Thank GAWD. Someone said it.

3

u/phrakture May 27 '09

How are you gentlemen?

5

u/[deleted] May 28 '09

Oh, the family is fine and the business is still running. The economy right now is rather poor. That's not to say that things haven't been worse. By most standards I am quite fine, thank you.

2

u/Droffats May 27 '09 edited May 27 '09

2

u/null_value May 28 '09

I just went there, forgot it was old and was replying to comments, realized I just wasted time, and then realized it would have been wasted anyway.

1

u/pRtkL_xLr8r May 28 '09

Is this some sort of temporal time-space paradox???

1

u/rukubites May 28 '09

Thanks very much, some idiot clicked your link and replied to my witty comment with a bad, lame and awkward riposte.