绘制一个图灵机来求二进制数的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。
广告