如何构建这个图灵机?

时间:2017-08-20 06:57:38

标签: computer-science automata turing-machines computability

我们如何构建TM以使其接受(仅给出描述):

  

a + b = c

     

a。 b = c

输入的形式为#b#c。

a,b和c属于{0,1} *并且是正二进制无符号整数。

我知道如果输入具有一元表示,我们可以构造TM但如果它具有二进制表示则如何解决?

1 个答案:

答案 0 :(得分:0)

嗯,二元加法和乘法比一元情况更复杂,但并不困难。补充:

  1. 将两个最低位相加。如果总和为零或一,则这是结果的最低位。如果总和是2,那么最低位为零,你有一个进位。
  2. 继续下一个最低位。求和两者和可能的进位。如果和为零或一,则这是结果的当前位。如果总和为2,则当前位为零并且您有进位。如果总和是3,那么当前位是1,你有一个进位。
  3. 重复2直到处理完所有位。
  4. 对于乘法,您可以使用this one之类的方法。如果你真的需要详细的话,这将是一个在TM上编程的工作。