对于三进制计算机逻辑运算方法的猜想

来源:互联网 发布:重庆中联软件 编辑:程序博客网 时间:2024/06/03 21:12

这件事主要源于CSDN上的这篇文章:莫斯科国立大学三进制计算机发展史 。阅读后就猜想对于三进制计算机的逻辑运算是如何处理的呢?

 

在二进制计算机中,基本的逻辑计算有:“与”,“或”和“非”。下面分别用AND、OR、NOT来表示。

0 AND 0 = 0        0 OR 0 = 0        NOT 0 = 1

0 AND 1 = 0        0 OR 1 = 1        NOT 1 = 0

1 AND 0 = 0        1 0R 0 = 1

1 AND 1 = 1        1 OR 1 = 1

 

上述文章中描述说,三进制主要根据电压值的正、负和零进行判定,值分别被表示为:1,-1和0。那么在这种情况下的逻辑计算又是怎样的呢?

以下是我列出的计算法则:

 

0 AND 0 = 0                0 OR 0 = 0            NOT 0 = 0

0 AND 1 = 0                0 OR 1 = 1            NOT 1 = (-1)

1 AND 0 = 0                1 0R 0 = 1            NOT  (-1) = 1

1 AND 1 = 1                1 OR 1 = 1

(-1) AND 0 = (-1)      (-1) OR 0 = 0

(-1) AND 1 = (-1)      (-1) OR 1 = 1

(-1) AND (-1) = (-1)  (-1) OR (-1) = -1

 

上述真值表对DeMorgen定律仍然成立:

对于任意两个三进制数A和B:

NOT (A AND B)             (NOT A) OR (NOT B)

  0     0   0   0                 0         0      0

  0     1   0   0                 -1        0      0

  1    -1  -1  0                 1         1       0

  1    -1  -1 -1                 1         1       1

 

 同样,可以证明NOT(A OR B) == (NOT A) AND (NOT B),此证明略。

 

通过列出三进制真值表,我们可以看到非常有意思的逻辑现象:

AND运算是得出两个数中最小的那一个;OR运算是得出两个数中最大的那一个;而NOT运算是获得另一个数,使得该数与源操作数正好互为两个极值(峰值)。

 

原创粉丝点击