绘制一个图灵机来求二进制数的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+ 浏览量

启动您的职业生涯

完成课程获得认证

开始学习
广告