4

どこから始めればいいのか見当がつかないので、頭がおかしくなる仕事があります。

タスクは次のとおりです。指定されたブール式を変換して、NAND 演算のみを含み、否定を含まないようにします。

c * b * a + /c * b * /a

私はそれが可能だと思います:Dしかし、私はそれを行う方法がわからず、円を描くためだけに数時間を費やしました.

誰かが私を正しい方向に向けてもらえますか?

よろしく
お願いします。

アップデート:

答えのおかげで、解決策を見つけたと思います:

c*b*a = /(/(c*b*a)*/(c*b*a)) = A; 

/c*b*/a = /(/(/(a*a)*b*/(c*c))*/(/(a*a)*b*/(c*c))) = B; 

c*b*a+/c*b*/a = A + B = /(/(A*A)*/(B*B))
4

3 に答える 3

2

これには、NAND を介して他の論理ゲートを構築する方法の内訳があります。簡単なアプリケーションである必要があります。

http://en.wikipedia.org/wiki/NAND_logic

たとえば、C = A AND B は次と同等です。

C = NOT (A NAND B)  
or
C' = (A NAND B)
C = C' NAND C'   (effectively NOT'ing A NAND B)
于 2012-03-23T19:55:33.753 に答える
1

1 種類の関数/論理ゲート (この場合は NOR ですが、NAND に変更するのは簡単です) だけでブール式を構築する方法の詳細な議論については、以下を参照してください。

Pragmatic Programmer Magazine 2012-03: NOR マシン

于 2012-03-23T20:02:34.660 に答える
1
c * b * a + /c * b * /a

NANDのみ

/( /(c * b * a)  *  /( /(c * c) * b * /(a * a) ) )

NAND( NAND(c,b,a) , NAND( NAND(c,c), b, NAND (a, a)))

つまり、2 つの 3 ゲート NAND、3 つの 2 ゲート NAND が必要です。

NOT (A) = NAND (A,A)

A OR B = NAND (NAND (A, A), NAND(B, B))

于 2012-03-23T20:19:27.327 に答える