三态是指为了刻画问题而对问题的分类以及对于每种分类下的问题表现出不同的状态的三个状态。 在数学上,三态通常指表示布尔值的TRUE、FALSE和UNKNOWN三种状态。 在计算机科学领域,三态最常见的应用是在逻辑门中,这时候UNKNOWN表示逻辑门的输出不确定,常出现在故障状态下。
三态是由真(TRUE)、假(FALSE)和未定(UNKNOWN)三种状态构成的。在实际应用中,未定表示的是当前遇到的情况下,无从得知结果是真还是假,比如一个问答系统,在回答一个问题时可能会回答不出来,返回UNKNOWN状态。
在布尔代数中,TRUE表示真,此时在逻辑表达式中,该表达式所代表的值为真;FALSE表示假,代表表达式不成立;而UNKNOWN则表示不确定,比如在逻辑运算中有多个输入,但其中一个或多个输入的状态不确定,那么输出的状态也就不能确定,这时就采用UNKNOWN来表示这种不确定性。
三态在计算机系统设计中有着广泛应用。在传统的逻辑电路中,在输出端口增加一个未知的电平就形成了三态逻辑电路。在这种情况下,输出端口的状态可以是高电平、低电平,也可以是一个高阻态,即未知电平。在计算机系统中,三态电平可以用来实现多路共享,即多个电路共享同一个硬件接口。
虽然三态的未定状态是很有必要的,但是未定状态的存在也给系统带来了很多问题。在计算机系统中,一些异常的结果通常是由于输入信号的未定引起的。对于未定状态,如何处理、如何避免,这些问题至今仍是亟待解决的。同时,三态也存在着性能问题。三态计算的过程比标准布尔操作要复杂,导致吞吐量下降,速度变慢,需要占用更多的系统资源。