宇宙人种集散地吧 关注:108贴子:3,044
  • 2回复贴,共1

布尔算法相关资料

取消只看楼主收藏回复

与非

一种逻辑算法,常在计算机中以“与非门”的形式存在。表示为:NAND。
  输入       输出
1  1         0
1  0         1
0  0         1
即作一次“与”运算后再做一次“非”运算。

-----

或非

一种逻辑算法,常在计算机中以“或非门”的形式存在。表示为:NOR。
  输入       输出
1  1         0
1  0         0
0  0         1
即作一次“或”运算后再做一次“非”运算。

----

或门

或门又称“或电路”。执行“或”运算的基本门电路。有几个输入端,只有一个输出端。只要输入中有一个为“1”电平时,输出就为“1”电平,只有当所有的输入全为“0”电平时,输出才为“0”电平。

----

与门

又称“与电路”。执行“与”运算的基本门电路。有几个输入端,只有一个输出端。当所有的输入同时为“1”电平时,输出才为“1”电平,否则输出为“0”电平。

----
异或

1、异或是一个数学运算符。他应用于逻辑运算。 其运算法则为a异或b=a'b+ab'(a'为非a)。
2、例如:真异或假的结果是真,假异或真的结果也是真,真异或真的结果是假,假异或假的结果是假。就是说两个值不相同,则异或结果为真。反之,为假。
3、在计算机应用中,普遍运用,异或的逻辑符号 ^  (Shift + 6).形象表示为:
真^假=真
假^真=真
假^假=假
真^真=假
或者为:
True ^ False = True
False ^ True = True
False ^ False = False
True ^ True = False
部分计算机语言用1表示真,用0表示假,所以两个字节按位异或如下
00000000
异或
00000000
=
00000000
============我是分界线============
11111111
异或
00000000
=
11111111
=============我还是分界线=============
00000000
异或
11111111
=
11111111
===========又是我。。。================
11111111
异或
11111111
=
00000000
=============分界线=====================
00001111
异或
11111111
=
11110000
========================================

所以 按位异或 也常用于字节取反操作。

---------------------------------------------------

异或还可以用来交换两个整形变量的值,而不需要第三个量的传递.
例如:
a=9;
b=10;

a=a^b;
b=b^a;
a=a^b;

结果是a为10,b为9.


1楼2008-06-27 14:20回复
    "同或"的规则:两个数相同时结果为1,不同时结果为0

    "异或'的规则:两个数不同时结果为1,相同时结果为0
    -----
    如何用几个异或门构成一个同或门

    同或为异或取反,
    异或用于非门可以是将其一端置高电平,但更简单的是两端并接
    根据A*A = A 有
    ------ -----
    A * A = A
    所以只要用两个异或门,前一个异或的输出并接到后一个异或的两输入端即可.


    2楼2008-06-27 14:23
    回复
      3楼2008-06-27 14:36
      回复