# Two’s Complement method

The Two’s Complement Method is the most widely used technique for representing signed integers in binary form. It is favored in digital systems and computer arithmetic due to its simplicity in performing arithmetic operations and its unique representation of zero. Two’s complement efficiently handles both positive and negative numbers, making it the standard method in modern computing.

#### Understanding Binary Representation

Before diving into two’s complement, it’s important to grasp basic binary concepts:

• Binary System (Base 2): The binary system uses only two digits, 0 and 1. Each digit in a binary number is a bit.
• Unsigned Binary Representation: Unsigned binary numbers represent only non-negative integers. For example, $1101_2$ represents $1 \times 2^3 + 1 \times 2^2 + 0 \times 2^1 + 1 \times 2^0 = 13_{10}$.

When signed numbers (both positive and negative) need to be represented, two’s complement is the method of choice.

#### The Two’s Complement Method

In the two’s complement method:

• Positive numbers are represented in the same way as in unsigned binary.
• Negative numbers are represented by taking the binary representation of the corresponding positive number, inverting all the bits (forming the one’s complement), and then adding 1 to the least significant bit (LSB).

This method allows for a straightforward representation of signed integers and simplifies arithmetic operations, such as addition and subtraction.

##### Example: 4-Bit Two’s Complement Representation

Let’s consider a 4-bit binary system using the two’s complement method:

1. Positive Numbers:

• They are represented just like in unsigned binary. For instance, $+5$ is represented as $0101_2$ in a 4-bit system.
2. Negative Numbers:

• To represent $-5$ in 4-bit two’s complement:
• Start with $+5$: $0101_2$
• Invert the bits (one’s complement): $1010_2$
• Add 1 to the LSB: $1010_2 + 1_2 = 1011_2$
• So, $1011_2$ represents $-5$ in two’s complement.

Here’s a table showing all possible 4-bit two’s complement representations:

Decimal ValueBinary Representation
+70111
+60110
+50101
+40100
+30011
+20010
+10001
+00000
-11111
-21110
-31101
-41100
-51011
-61010
-71001
-81000
##### Important Observations:
• Single Representation of Zero: Unlike one’s complement, where both $+0$ and $-0$ exist, two’s complement has only one representation for zero: $0000_2$.
• Range of Numbers: In an n-bit two’s complement system, the range of representable numbers is $-2^{n-1}$ to $+(2^{n-1} – 1)$.

For example, in the 4-bit system:

• Maximum positive value = $+(2^3 – 1) = +7$.
• Minimum negative value = $-2^3 = -8$.

#### Arithmetic Operations in Two’s Complement

Two’s complement arithmetic is straightforward, with the same rules applying to both positive and negative numbers. This simplicity is a key reason for its widespread use.

Let’s add $+5$ and $-3$ in a 4-bit system using two’s complement.

1. Find the binary representations:

• $+5_{10} = 0101_2$
• $-3_{10} = 1101_2$ (two’s complement of $+3$)

• $0101_2 + 1101_2 = 10010_2$
3. Handle the carry:

• In a 4-bit system, the result is truncated to 4 bits, so the sum is $0010_2$.
• The final result is $0010_2 = +2_{10}$.
##### Subtraction Example

To subtract $3$ from $5$, we add $+5$ to $-3$ (as subtraction in binary is achieved through addition of the two’s complement):

1. Find the binary representations:

• $+5_{10} = 0101_2$
• $-3_{10} = 1101_2$ (two’s complement of $+3$)

• $0101_2 + 1101_2 = 10010_2$
3. Truncate to 4 bits:

• The result is $0010_2 = +2_{10}$.

• Simplified Arithmetic: Two’s complement simplifies arithmetic operations because the same hardware can be used for both addition and subtraction.
• Single Representation of Zero: Two’s complement avoids the dual representation of zero, which simplifies logic and arithmetic operations.
• Easy Negation: To negate a number, simply invert all bits and add 1.

• Asymmetry in Range: The range of negative numbers is one larger than the range of positive numbers in two’s complement. For example, in a 4-bit system, the range is $-8$ to $+7$.

#### Comparison with One’s Complement

• One’s Complement: One’s complement requires an additional step (end-around carry) in arithmetic operations, and it has two representations for zero, which can complicate processing.
• Two’s Complement: Two’s complement simplifies arithmetic and logical operations, making it the preferred method in modern computing systems.

#### Conclusion

The Two’s Complement Method is a robust and efficient way to represent signed integers in binary form. Its ability to handle both positive and negative numbers seamlessly, along with simplified arithmetic operations, makes it the standard in digital systems and computer architecture. Understanding two’s complement is crucial for anyone working with binary numbers or designing digital systems, as it is the backbone of most arithmetic operations in computing today.

### References

1. Digital Design and Computer Architecture by David Harris and Sarah Harris: This textbook offers a comprehensive introduction to digital design principles, including an in-depth discussion of the two’s complement method and its applications in computer arithmetic.
2. Computer Organization and Design: The Hardware/Software Interface by David A. Patterson and John L. Hennessy: A widely respected textbook that covers two’s complement representation in detail, along with other methods for representing signed numbers in digital systems.
3. Introduction to Computing Systems: From Bits & Gates to C & Beyond by Yale N. Patt and Sanjay J. Patel: This book provides a clear explanation of two’s complement arithmetic and its role in computer systems, making it accessible to students and professionals alike.
4. Two’s Complement – TutorialsPoint: An online resource that explains two’s complement representation and arithmetic with clear examples and practical applications. Available at: TutorialsPoint.

These references provide detailed explanations and practical examples of the two’s complement method, making them valuable resources for understanding its role in digital design and computer architecture.

Categories IT