The base 1 discussion might simplify if we agree that “base n” refers to a number system using n digits. So any system with 0 and 1 is a base 2 system. That’s why these are called binary numbers. The decimal system uses ten digits and is base 10, the hexadecimal system uses 16 digits and is base 16, etc. etc.
You can use a base one system by using the number of places to designate different amounts. So, for instance, the number one would be 1, two would be 11, three would be 111, four would be 1111, etc. You can’t represent zero this way very efficiently though, except to use a blank space! Not a terribly useful system, but possible.
I can’t think of a reasonable interpretation for what a base zero system would be.
Another way to think of base n … you probably already know, but here it is again anyway. A number like 25 (base 10) represents five groups of one and two groups of ten. Each place, then, corresponds to a group of a certain size; we add up all the members of all the groups to see the amount of total members represented by the number. So there are twenty five members represented by 25 (I’ll use words to indicate amounts and numerals to indicate representations of those amounts, or “numbers”) In binary, now, the number 11001 represents one group of one, zero groups of two, zero groups of four, one group of eight, and one group of sixteen. In other words it represents the same amount as the decimal number 25. The pattern to recognize is that the size of the group represented by each place is n^i where n is the base of the system and i is the place(numbered from the right and starting with 0).
So for example in the binary number 11001, the bold number 1 is in place number three. the size of the group is n^i or 2^3. So this place accounts for the one group of eight mentioned above, and similarly for the other places.
You can see that the only requirement to be able to represent a number in a system base n is that the groups represented by each place should be greater than zero. So any number n for which n^i > 0 for the positive integers i can be used as a base (technically, we should say n^i > 0 for some infinite subset of the positive integers i, but you get the idea). So any positive real number can be used as a base. (The condition given is sufficient, but not necessary. For example, after meditating on it a little, I concluded that a base of -1 could be used to represent any integer except zero, though it would be damned unwieldy.)
It’s obvious that there’s an infinite set of base systems, seeing as how any number, real or imaginary, can be used. But how would you work a base-i system? Well, as i is the first number in its respective system, you’d run up against the same wall as you would with any unary system. However, we know that a base-2i would work. 0=0, 1=i, 10=2i, 11=3i, 100=4i, etc. But what happens when you want to work with powers? How can you meaningfully say ‘multiply n by itself i times’? Unless one of the teeming millions works out this problem, any base-ni number system will have a serious handicap. So perhaps the answer to the OP is, in theory, you can make your base any number such that n<>1 and n<>0 (<> is ASCII for ‘does not equal’) but the actual utility of said system will be severely hampered unless n is a real integer (you can’t actually reach 1 in a fractional-base system, you just get infinitely close).
The problem with a non-integral base for a number system, is that most integers then require digits after the point (can’t really call it a decimal point, if it’s not decimal). So, for instance, 3[sub]10[/sub], if we convert it to a base-e system, works out to approximately 10.020012[sub]e[/sub].
And Derleth, you can meaningfully take numbers to imaginary powers. For instance, by Euler’s formula, e[sup]ix[/sup] = cos(x) + isin(x). If you want to take some other number to an imaginary power, you use the formula a[sup]x[/sup] = e[sup]xln(a)[/sup]. Except for division by zero, all of the operations on the complex numbers are defined in the set of complex numbers-- You can also do things like take logs of negative numbers, for instance.
Very interesting discussion. I’m in the don’t-buy-it camp for base 1, though. Yes, you can define a workable numbering system as described, but no, I don’t believe that would be correctly referred to as “base 1”.
Are there any other interesting properties to the factorial system?
Are there other systems that would actually be considered for usage because of some value to their properties?
Balance, you are missing something here. A positional system means the place the digit occupies changes its value. Just writing a string of ones is not a case of the positional systems we are talking about because every one has the same value. It is more similar to the Roman system.
You need a minimum of two digits for such a system.
No actually, sailor, it works. The first place (i.e the one on the right) Corresponds to 1^0, the next place corresponds to 1^1, the next place to 1^2, etc. So the number 111, for instance, corresponds to one group of one, one group of one, and one group of one. The sum corresponds to the same amount as the number 3 does in base ten. And so on.
Well, for my Models of Computation final we had to make a Turing machine* to divide a number in base 1 notation by three. That is, for 111111 it would return 11. And it was referred to on the exam as base 1. So there’s at least one use for base 1. I could possibly design a Turing machine to do the same in base 2, but that would be substantially more difficult.
[sub]* If you don’t know, don’t ask. There’s no way I could possibly explain it. Suffice it to say, it’s a theoretical machine that can be constructed for any algorithm.
-APB9999, you’ve just disproven your own statement by proving that place-value notation is meaningless in a base-1 system. If you don’t have place-value notation, you really don’t have a base system. You have finger-counting. Enough already.
-Chronos, thanks. You truly have a mind for math. What do you do, anyway? Astrophysics?
-waterj2, for the benefit of everyone else I’ll describe the classical Turing Machine. The Turing Machine works by manipulating symbols on a strip of paper according to rules it stores as a kind of physical programming. For example, the rules might say “When you see ‘zxyz’ change it to ‘yxxz’. When you see ‘yyyx’ change it to ‘xxyz’.” and so on. The read-write head scans up and down this (potentially infinite) length of paper, typographically running the program encoded in the symbols. The Turing Machine is the equivalent of the theory of computing. All computers in existence are realizations of that theory to one extent or another. So discussing and theorizing about the Turing Machine, which does not exist in real life, can have a very real impact on how computers are designed, built, programmed, and used. BTW, you can call a horse a rabbit all day long, but in the end that horse will not hop away.
Just to back up the notion of base-1 being almost useful, I also had to use it in a Turing machine. In a philosophy class.
The most basic Turing machine can only make or erase a mark on its strip of paper, so base 1 is pretty much all you’ve got unless you want to get complicated.
(As a side note, I seem to recall the original Turing Machine could make a few different symbols, but only 1 is necessary. Algorithms get way slow if you just use base-1 though)
And even though you didn’t ask, some more details on T.Ms.
At its heart, a TM has a set of rules that all look like this:
Rule 1:
If you read a 1, write a 0, move left, go to rule 4
If you read a 0, write a 0, move left, go to rule 1
Rule 2:
…
The really Important thing is that you can make a Universal Turing Machine, where when you start it up, its strip of paper has to its left is a set of rules that are encoded, and to its right is the data that it works on. The universal turning machine is capable of reading the rules on the left of the tape and following them, in essence simulating any other possible turing machine that had a finite number of rules. From this we get the equivalence of program and data, and the idea that any computer which is a U.T.M. can simulate any other computer which is a model of a turing machine. In other words, this basic U.T.M. with a strip of paper can compute just as many problems as your Penitum III.
The Turing machine I designed used more than the one symbol. But its input and output were strictly in base 1. I believe that “base 1” is the standard way of referring to this type of input and output. And if it is used in relation to Turing machines, it probably has been that way since the time of Turing, at which point, computer science was still mostly mathematically oriented. Therefore, it was probably also convention in mathematics to refer to it as “base 1” at the time (circa 1940).
Thanks for the descriptions of Turing machines guys. Much better than I could have done.
The way we used it, the 0 was a seperating character. In other words, if we wrote a turing machine to add two numbers, the tape would look like this (for 3+7):
…0000111011111110000…
You can do base 2 arithmatic with a turing machine, but things get a lot more complicated (this was for a survey philosophy class, we didn’t spend a lot of time on it). The main problem is that the 0 becomes significant as part of the number, so you can’t use it as a seperator character any more.
Off the top of my head, I can think of two ways around this:
All numbers have a fixed range (like modern computers), so e.g. every number is 8 bits long and you can express the numbers 0-255.
First you write the number of bits in base 1, then a zero, then the bits for the number. (So 27 would be written as 11111011011)
I’m sure theres other encodings out there too, but as you can guess the machines get pretty complicated with any base 2 encoding.
Don’t call counting ones base-1. Base-1 does not exist because you cannot use a place-value notational system with only one symbol. And without place-value notation, we may as well be discussing Roman numerals.