繪製一個圖靈機來求二進位制數的1的補碼
1的補碼是指將0位轉換為1,將1位轉換為0。
輸入為:
| B | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | B |
輸出如下:
| B | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | B |
概念
概念解釋如下:
步驟1 - 從左到右開始掃描輸入。
步驟2 - 如果讀寫頭在1上,則將其改為0並向右移動。
步驟3 - 如果讀寫頭在0上,則將其改為1並向右移動。
步驟4 - 重複上述步驟,直到到達B(空白)。
步驟5 - 然後將讀寫頭一直向左移動,直到到達第一個字元,在此過程中不改變任何內容。
步驟6 - 此時字串將被接受。
下面給出了實現上述步驟的圖靈機。這裡,Q0是初始狀態,Q2是最終狀態。

解釋
q0狀態將'1'替換為'0',將'0'替換為'1',並向右移動;當遇到空白時,向左移動。
使用'q2'狀態,當遇到空白時,向右移動到達字串的起始位置,然後到達最終狀態q2。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP