6

I was reading a book regarding to learn more about ASM, and the author happened to commented on bits, the exact quote is:

A bit is the indivisible atom of information. There is no half-a-bit, and no bit-and-a-half. (This has been tried. It works badly. But that didn't stop it from being tried.)

My question is when have this been tried? What was the outcome? How did it go badly? It bothering me that google isn't helping me find the answer to this question regarding on the cases when someone tried to make a half a bit and use(?) it.

Thank if you can find out when this case happened.

Veger
  • 37,240
  • 11
  • 105
  • 116
Leruce
  • 187
  • 1
  • 8
  • Start with http://stackoverflow.com/questions/764439/why-binary-and-not-ternary-computing and http://en.wikipedia.org/wiki/Ternary_computer – Matt Ball Jan 18 '13 at 05:17
  • or some other variants: http://en.wikipedia.org/wiki/Qubit – kfmfe04 Jan 18 '13 at 05:20
  • 8
    You can't "break" a bit smaller - it's an abstract concept. What do you get when you try to "break" a letter of the alphabet down? – Mahmoud Al-Qudsi Jan 18 '13 at 05:26
  • Still the author could be referring to other means, such as http://en.wikipedia.org/wiki/Optical_computing, whats the book and authors name? – Jeremy Thompson Jan 18 '13 at 05:29
  • Assembly Language Step-by-Step: Programming with DOS and Linux, Second Edition by Jeff Duntemann. In the middle of Chapter 3. – Leruce Jan 18 '13 at 05:31
  • floating point has "sticky bits" and/or other terms. They are not really fractional bits but just additional mantissa bits used in rounding the lsbit of the mantissa. So from one perspective they are a fraction of the lsbit. – old_timer Jan 18 '13 at 14:47
  • A split bit might be a bit of a sticky wicket... Causes your computer to implode into a black hole. – Brian Knoblauch Jan 18 '13 at 15:19

3 Answers3

4

Yes. That's what arithmetic coding (a type of compression) is about. It allows information to be stored in fractional bits.

I believe that in the specific example you're talking about, that the author was merely being tongue in cheek, and not referring to any actual attempt to split bits.

Omnifarious
  • 54,333
  • 19
  • 131
  • 194
  • 4
    I don't think this is what the OP is asking about. – Matt Ball Jan 18 '13 at 05:24
  • Original information remains unchanged. – Shadows In Rain Jan 18 '13 at 05:24
  • @ShadowsInRain: This is true. But fractional bits in the compressed stream are used to represent the uncompressed data. So, in a sense, bits have been split. – Omnifarious Jan 18 '13 at 05:28
  • 2
    It still doesn't use "fractions" of a bit. The fractional (`0 <= x < 1`) values are still represented in binary. – Matt Ball Jan 18 '13 at 05:30
  • 1
    @MattBall: It depends on how you think of it. I've always thought of it as fractional bits. Yes, the eventual data stream that results has single individual bits, but each of these bits is carrying the information from multiple fractional bits at the level of the data the stream is really representing. – Omnifarious Jan 18 '13 at 05:32
1

A bit, as defined by present day computers, is a binary value 0 or 1. That is the 'atom' of information, because in binary logic you cannot represent anything other than that using a single 'bit' - to represent anything else, like 0.5, you need more 'bits'.

However for multilevel electronics, the 'bit', would have multiple values. If someone makes a computer, which has electronics where each 'bit' can take value between 0-9, then you have a bit that can store more than just 0/1. Perhaps the author meant this. Attempts to make computers with multi level bits have failed, 'miserably'. Electronics has not been able to figure out how to do that, in a reliable/cost effective fashion. e.g. if someone can figure that out, then say a 1024 bits memory would have a single cell, the cells taking on a value ranging from 0-1023 to signify the value. That chip would then by 1024 times smaller than the current chips (just theoretically - if everything else remains the constant).

Though admittedly at a physical level, a bit would still remain as a bit. That is 1 wire going into a chip. That is 1 gate input. That is 1 memory cell. If you divide that 1 wire, 1 input, or that one cell into two, you get two wires/inputs/cells, NOT half wire/input/cell. So you get two bits.

Amit
  • 1,836
  • 15
  • 24
  • 2
    At the physical level **a bit is not a wire**, but a voltage level on that wire. You _could_ have values other than just `0` and `1` on the wire. – Matt Ball Jan 18 '13 at 05:25
  • But Binary Digit can't take values between 0-9 by definition? – Shadows In Rain Jan 18 '13 at 05:25
  • @Matt - a bit is a voltage on a wire or the wire itself - debatable. In a multilevel logic what would you define 1 bit to be? Ain't that going to be represented at circuit level by 1 gate/1 cell etc? As for multilevel, voltages being different from 0 or 1, I myself put that in my answer. And to be absolutely correct the voltages are NOT 0 or 1. In 5V logic they used to 1 or 5 V, and in current low voltage applications they are 0 or 2 - 3.5 volts (I am not sure about the exact numbers) And I have no clue about association bonus. I was myself trying to figure that out – Amit Jan 18 '13 at 05:38
1

I believe the author tries to state a metaphysical fact with humour.

Data is commonly stored using multilevel voltages in magnetic discs and flash memory. However one can calculate the "optimal" base of a number system being 'e=exp(1)=~2.718...', which AFAIK hasn't been "tried", while ternary (base-3) system is quite common in fast parallel arithmetic algorithms and it works better than base-2 in many applications.

Also, as omnifarious states, arithmetic/range encoding can be seen as a method of using fractional bits: e.g. if there are only three possible messages (e.g. 001, 010, 100), those can be stored in two bits "leaving one quarter of the space" unused.

Aki Suihkonen
  • 19,144
  • 1
  • 36
  • 57