トップ «前の日記(2015-05-10(Sun)) 最新 次の日記(2015-05-13(Wed))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2015-05-11(Mon) 晴れていたはず

ORできた

てけとーにキーボード弾いてたら論理和になった。
そのためか、なんか自力で達成したように思えなかったり。

def nand_gate(a, b):
  if a == b == 1:
    return 0
  else:
    return 1
 
def not_gate(a):
  return nand_gate(a, a)
 
def and_gate(a, b):
  return not_gate(nand_gate(a, b))
 
>>> nand_gate(not_gate(1), not_gate(1))
1
>>> nand_gate(not_gate(1), not_gate(0))
1
>>> nand_gate(not_gate(0), not_gate(1))
1
>>> nand_gate(not_gate(0), not_gate(0))
0

ORができればNORも、そしてちょっと手こずってXOR

def nor_gate(a, b):
  return not_gate(or_gate(a, b))
 
def xor_gate(a, b):
  return and_gate(nand_gate(a, b), or_gate(a, b))

やはりソフト(と強力な計算機)でこんなのやると、 ロジックが無意味に複雑になってる、はず(なことが、見えない)。
このXORをNANDに展開しようとしたが、バスを降りる前に 完全にそれを達成するのは、ちと無理だった。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。