Mealy machine is a finite-state machine, its current state and the current inputs determines the output of this machine.

**2’s complement :**

It is the mathematical operation on binary numbers. It is used for computation as a method of signed number representation. Its complement with respect to 2^{N} defines the two’s complement an N-bit number.

**Logic:-**

First calculate 1’s compliment of binary number, convert 1 to 0 and 0 to 1 and then add 1 to it. For example, if binary number is 1011 then its 1’s compliment is 0100 and its 2’s compliment is 0101

**Design mealy machine :**

- Take initial state A.
- If there are n number of zeros at initial state, it will remain at initial state.
- Whenever first input 1 is found then it gives output 1 and go to state B.
- In state B, if input is zero, output will be 1.And if input is 1 then output will be 0.
- And then set state B as final state.

The approach goes as follows:

- Start from right to left.
- Ignore all 0’s.
- When 1 comes ignore it and then take 1’s complement of every digit.

**Figure –**Mealy machine of 2’s compliment

**Example-1:**

- Lets take 001 and we know that its 2’s complement is (110+1 = 111).
- So scan from right to left.
- On state A ‘1’ came first to go to stage B and in output write 1.
- On state B replace ‘0’ with ‘1’ and vice-versa.
- So finally we got 111 as output.
- Be aware that the output is also printed in right to left order.

**Example-2:**

- Lets take 01 and we know that its 2’s complement is (10+1 = 11).
- So scan from right to left.
- On state A ‘1’ came first to go to stage B and in output write 1.
- On state B replace ‘0’ with ‘1’ and vice-versa.
- So finally we got 11 as output.
- Be aware that the output is also printed in right to left order.

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the **CS Theory Course** at a student-friendly price and become industry ready.