So what's going on here, does 24th century computing utilize binary, or not?! For some reason I hadn't noticed this problem before, even though I've viewed these and all other Trek episodes on multiple occasions (although I haven't seen any Enterprise episodes yet - and for spoiler reason will not participate in any threads until I have).
I had originally thought over the years that Daystrom's initial Duotronic computer system used some ultra hi-tech system which replaced binary. Even today we have the theoretical 'quantum computing' which could possibly one day supersede the traditional binary method of plain 1's and 0's.
So, are there any theories....? Or does anyone know of any further references (one way or the other) to binary in Star Trek...?
A brief description of quantum computing:
http://www.qubit.org/intros/comp/comp.html
If we can do that, we can store things in decimal, and it will be improved over binary. Or we can have sixteen states and use hexadecimal. And so on.
Contemporary computing works on the basis of instructions causing operations to occur on registers. A register is a storage unit in the processor big enough to hold a single value - contemporary computers use 32 bit registers. Instructions describe simple actions - for example, the instruction "LOADA R5,00a020" might load the contents of memory address 00a020 into Register #5. "ADD R5,R6,R7" might add the values in R5 and R6, and place the results in R7. Given a handful of opcodes (load, store, add, multiply, compare, branch) you've ready to rock.
Quantum computing augments this by making your register out of "qbits" instead of just "bits" and adding an additional "opcode" to the toolkit. Let's call this "QLOAD" - it loads a second value into the same register. Let's say we had a 3-bit register and we LOAD the number 6 (binary: 110) into it; we could draw that as [<1>;<1>;<0>]. Now let's QLOAD the number 2 (binary: 010) into it: [<1,0>;<1,1>;<0,0>]. Okay, so what? It just looks like we have a register that holds twice as much! We could also call this "the superposition of 6 and 2".
Here's where it gets fun. Now let's use the DIV opcode and divide the result by 2: [<0,0>;<1,0>;<1,1>] - see how it was sneaky enough to divide the superposition and get "the superposition of 3 and 1" as an answer?
Wait - why is that a big deal?
Well, a multiplication operation takes time - the computer has to do the same steps to multiply numbers "in sillica" as you do on paper. Compared to that, everything else is fast. But imagine using QLOAD a million times, then doing a single multiply - you'd get a million multiplications for the price of one!
Great, now we just have to get the results out!
Not so fast - quantum operations don't work like that. You see, a superposition is the universe being in a truly "indeterminate" state, somewhat like a coin in mid-flip. By using tools like QLOAD you can very precisely limit the range and probabilities of outcomes, but there's only one answer you can get out. If you try and read the bits of the result from above, you might get 001 or 011 or even 010! Each bit just has an equal probability of being read (or observed) each way!
So what is this good for?
Well, if you're sneaky, you can perform operations that would "bubble" the results you're looking for to the top. When factoring large numbers there are thousands of wrong answers and only one right answer. You can mathematically describe the right answer and perform operations which make it stand out and the others cancel each other out. The same thing applies when doing a search over a database - you can load the entire record set into a quantum register and perform a lookups in a single step.
In computing terms this lets you take enormous shortcuts. Factor a 1024 bit number instantly instead of taking every computer on the planet and several years - great for breaking codes. Nearly any computation doesn't just get orders of magnitude faster, but in some cases, actually now possible within the lifetime of the universe (10^100 years).
(Practically, we've only made 3-qbit registers, using billions of copies of organic molecules that perform computations in a solution; the quantum states we're talking about are so fragile that 99.99..% of the registers flake out, but enough "right" answers stand out above the noise to prove the concept. Doing anything more will take some pretty amazing breakthroughs, but it seems feasible.)
What does that mean for Star Trek?
Not much: again, quantum computing - as we currently understand it - really just adds a couple of "opcodes" to our computer parlance and the promise of making certain operations much faster. Take a database lookup - if you had all of the database keys loaded into a quantum register you might get instantaneous lookups. But loading the register still takes linear time.
Anyway, the point is: when they say "bit" in Star Trek they might very well mean "qbit". But that, in itself, doesn't explain any of the technobabble or potential contradictions.
Kim's line I suppose has to be seen as an aberration.