設計一個摩爾機來生成二進位制數的1的補碼。


摩爾機有6個元組,如下所示:

(Q, q0, Σ, O, δ, λ)

其中,

  • Q:有限狀態集
  • q0:機器的初始狀態
  • Σ:有限的輸入符號集
  • O:輸出字母表
  • δ:轉移函式,其中 Q × Σ → Q
  • λ:輸出函式,其中 Q → O

狀態轉換圖如下:

解釋

  • 步驟1 - q0 是起始狀態,輸入 '0' 轉移到 q1 狀態,輸入 '1' 轉移到 q2 狀態,並生成輸出 0。
  • 步驟2 - q1 在輸入 '0' 時轉移到自身,輸入 '1' 時轉移到 q2 狀態,並生成輸出 '1'。
  • 步驟3 - q2 在輸入 '0' 時轉移到 q1,輸入 '1' 時轉移到 q2,並生成輸出 '0'。

例如,

取一個二進位制數:1011

輸入

輸入
1011
狀態q0q2q1q2q2
輸出00100

讓我們為給定的語言構建狀態轉換表。該表如下所示:

當前狀態下一狀態輸出
00
->q0q1q20
q1q1q21
q2q1q20

更新於: 2021年6月12日

8K+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.