# What is the proper term for a ternary digit?

A binary digit is a bit.

Is there an equivalent term for a three-state digit?

(e.g., a digit representing true, false, or unknown)

-

## migrated from programmers.stackexchange.comApr 9 '14 at 13:53

This question came from our site for professional programmers interested in conceptual questions about software development.

I'm not sure exactly why this was migrated, but so far as I'm concerned what we're talking about here is normally referred to as a Tri-state variable – FumbleFingers Apr 9 '14 at 14:37
... but on the gripping hand... – mplungjan Apr 9 '14 at 14:55
@FumbleFingers, tri-state logic is entirely different. Trinary logic has 3 active states representing 3 different values. Tri-state logic has two active states and a passive state indicating two values and "let somebody else decide the value". – The Photon Apr 9 '14 at 18:40
@The Photon/l I bet you know exactly how many angels can dance on the head of a pin, too! :) Seriously - I never mentioned tri-state logic (a slightly odd name, since it seems to be more about the physics of digital circuitry, rather than logic as such). – FumbleFingers Apr 10 '14 at 0:33

Trit.

At least, according to Wikipedia:

Analogous to a bit, a ternary digit is a trit (trinary digit)

-
I don't think this is the correct answer to OP's question. Not every three-state variable is a trit. A trit is a ternary digit, which means it is a component of a radix-3 numeral. There are several ways to represent numbers with three-state quantities (‘balanced ternary’ for example), and the components of those representations might be called trits. (continued) – Mark Dominus Apr 9 '14 at 14:24
But OP asked specifically about variables that represent true, false and unknown, and there is no way to compose such quantities into numerals. It is a little hard to say for sure, because ‘trit’ is not a common term, but I think ordinary usage of ‘trit’ does not extend to such situations, and I would be reluctant to believe that it did without seeing specific examples. – Mark Dominus Apr 9 '14 at 14:24
@Mark - OP gave an example of true, false and unknown. Which can be represented by a trit. – Oded Apr 9 '14 at 14:29
@MarkDominus: It is just as easy to say you cannot represent true and false with numerals, and yet if you did a great many programming languages would loudly disagree. A significant subset of them treat `0` and `1` as binary values, and C has no other way of representing. You can trivially represent t/f/u. – Phoshi Apr 9 '14 at 14:45
@MarkDominus OP's question is explicitly about the term for a "ternary digit." What's the conflict here? – Kyle Strand Apr 9 '14 at 21:40

I think that the question contains a faulty premise. There are many types of three-valued logic. Some three-valued systems include:

• A ternary numeral system, in which each digit is called a "trit" (short for TRinary digIT). Each trit can be 0, 1, or 2. The least-significant trit represents zero, one, or two; the second-least-significant trit represents three, six, or nine; and so on.
• A tri-state system, in which an electronic signal can have a high, low, or unasserted state.
• A nullable boolean, in which a variable can be true, false, or unknown/null. A sequence of nullable booleans doesn't represent any larger number; it works like a nullable bitfield.

I would therefore say that a "digit" representing true, false, unknown is not a digit at all, but rather a nullable boolean, or possibly a tri-state value.

-
Along the lines of a "nullable boolean", some languages like OCaml or F# would call them an `Option<bool>` which means it can have the values of `None`, `Some(true)` or 'Some(false)`. – Scott Whitlock Apr 9 '14 at 19:21
The Haskell language calls that the Maybe monad. A type of `Maybe Boolean` would be one of three values: `Just True`, `Just False`, or `Nothing`. And while that is one of the tri-state booleans, it isn't the only one. Instead of "unknown" the third option could be almost any useful value: "maybe", "partially true/false", "n/a", etc. Depends on what you want to model with such a system. – CodexArcanum Apr 9 '14 at 19:55

Trit for trinary digit.
According to Princeton Wikipedia, since the Princeton article was retrieved from Wikipedia:

Analogous to a bit, a ternary digit is a trit (trinary digit). One trit contains log23 (about 1.58496) bits of information.

Trits and base 3 computing and hardware have been researched and developed in the 50's. The idea was to eliminate the 2 stage binary comparison by implementing the ternary logic less, equal, or greater outcomes or true, false, or unknown.

I was not able to find any published work with the definition of a trit, but a few articles talking about it and its implementation.
This is the closest to a definition given in American Scientist in an article about the third base:

Setun operated on numbers composed of 18 ternary digits, or trits, ...

-
And a nat is a unit of information in base e. Indeed, another reason that there was research into ternary logic in the '50s was that a trit is closer to a nat than a bit is. – Matthew Piziak Apr 9 '14 at 15:15
Note that the link that you have posted contains an extract of the Wikipedia article that linked at the bottom. So, the source of the material is Wikipedia and not Princeton – Aditya Apr 9 '14 at 17:27
@Aditya, it's interesting that Princeton has taken that article from Wikipedia, which is not a reliable source since anybody can say anything there. Now I understand why that page says "Do not cite". Thank you for pointing that out. – slybloty Apr 9 '14 at 18:02
@slybloty: Do you consider SE to be a "reliable source"? It's virtually the case that "anybody can say anything" here (for a while). Both platforms rely on communal editing to weed out unreliable information in the long run. – Terry N Apr 10 '14 at 8:57