繪製一個圖靈機來求二進位制數的1的補碼


1的補碼是指將0位轉換為1,將1位轉換為0。

輸入為:

B00101110B

輸出如下:

B11010001B

概念

概念解釋如下:

步驟1 - 從左到右開始掃描輸入。

步驟2 - 如果讀寫頭在1上,則將其改為0並向右移動。

步驟3 - 如果讀寫頭在0上,則將其改為1並向右移動。

步驟4 - 重複上述步驟,直到到達B(空白)。

步驟5 - 然後將讀寫頭一直向左移動,直到到達第一個字元,在此過程中不改變任何內容。

步驟6 - 此時字串將被接受。

下面給出了實現上述步驟的圖靈機。這裡,Q0是初始狀態,Q2是最終狀態。

解釋

  • q0狀態將'1'替換為'0',將'0'替換為'1',並向右移動;當遇到空白時,向左移動。

  • 使用'q2'狀態,當遇到空白時,向右移動到達字串的起始位置,然後到達最終狀態q2。

更新於:2021年6月15日

4K+ 瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.