# Turing Machine for subtraction | Set 2

• Last Updated : 30 Aug, 2018

Prerequisite – Turing Machine, Turing machine for subtraction | Set 1
A number is represented in binary format in different finite automatas like 5 is represented as (101) but in case of subtraction Turing Machine unary format is followed . In unary format a number is represented by either all ones or all zeros.

For example, 5 will be represented by a sequence of five ones 5 = 1 1 1 1 1 or 0 0 0 0 0. Lets use zeros for representation. For subtraction of numbers using a Turing Machine, both these numbers are given as input to the Turing machine separated by a “c”.

Example – (3 – 4) or (4 – 3) will be given as 0 0 0 c 0 0 0 0

```Input:  0 0 0 c 0 0 0 0  // (3 - 4) or (4 - 3)
Output:  0              // (1)```

Approach used –
Convert a 0 in the first number into X and then move to the right, keep ignoring 0’s and “c” then make the first 0 as X and move to the left . Now keep ignoring 0’s, X’s and “c” and after finding the second zero repeat the same procedure till all the zeros on the left hand side becomes X .Now move right and convert the last X encountered into B(Blank).

Steps –

Step 1 – Convert 0 into X and move right then goto step2 . If symbol is “c” then ignore it with moving to the right and go to step 6 .
Step 2 – Keep ignoring 0’s and move right . Ignore “c”, move right and goto step 3 .
Step 3 – Keep ignoring X and move right . Convert the first 0 encountered as X amd move left and goto step 4 .
Step 4 – Keep ignoring all X’s and “c” to the left and goto step 5 .
Step 5 – Keep moving left with ignoring 0’s and when the first X is found then ignore it and move right, and goto step 1 .
Step 6 – Keep ignoring all the X’s and move to the right . Ignore the first 0 encountered and move to the left then goto step 7 .
Step 7 – Convert the X into B ( Blank ) and goto step 8 .
Step 8 – End .

My Personal Notes arrow_drop_up