利用“与非”运算实现布尔代数中的与、或、非三种运算。
一、“与非”的定义
“与非(NAND)”简而言之就是先“与”后“非”的意思,逻辑表达式为:
A NAND B = !( A & B ) = !A || !B
二、解题
首先,由于“与非”运算是双目运算符,而想要进行单目运算,可以想到将其中一个条件设置为 True 进行运算,所以将 B 设置为 True ,则实现了“非”运算:
“非”运算:A NAND True = !( A & True ) = !A
同时,观察“与非”的等价逻辑表达式,不难想到怎样去实现“或”运算:
“或”运算:( A NAND True ) NAND ( B NAND True )= !!A || !!B = A || B
同理可以发现,“与”运算如下:
“与”运算:( A NAND B ) NAND True = !!( A & B ) || False = A & B