Learning Objectives
- Explain why a signed representation is needed for negative integers.
- Interpret positive and negative 8-bit two’s complement values.
- Convert a positive denary integer into 8-bit two’s complement.
- Convert a negative denary integer into 8-bit two’s complement.
- Convert an 8-bit two’s complement pattern back to denary and state the valid range.
Key Terms
- Signed integer
- An integer representation that includes both positive and negative values.
- Two’s complement
- A binary system used to represent positive and negative integers in a fixed number of bits.
- Sign bit
- A common name for the most significant bit when interpreting a signed two’s complement value.
- Invert
- Change every 0 to 1 and every 1 to 0.
- Range
- The smallest to largest values representable in a fixed number of bits.

Why Unsigned Binary Is Not Enough
An unsigned 8-bit pattern represents values from 0 to 255. It has no agreed way to distinguish positive and negative values. Applications such as temperatures, bank balances and changes in height may require negative integers, so a signed representation is needed.
Two’s complement is widely used because the same binary addition circuitry can operate on positive and negative values, and because it has only one representation for zero. The syllabus requires conversion between denary and positive or negative 8-bit two’s complement integers.
In 8-bit two’s complement, patterns beginning with 0 represent zero or positive values. Patterns beginning with 1 represent negative values. However, the leftmost bit is not simply a separate minus sign; its place value is negative.
Place Values And Range
For 8-bit two’s complement, the place values are -128, 64, 32, 16, 8, 4, 2 and 1. To find the denary value, add all place values whose bits are 1, including -128 when the most significant bit is 1.
The range is -128 to +127. There are still 256 patterns, but they are divided between 128 negative values, zero and 127 positive values. The range is not symmetrical because zero uses one of the non-negative patterns.
Positive values use the same bit patterns as unsigned binary for values 0 to 127, with a leading 0. A positive value such as 100 cannot be written with a leading 1 in two’s complement, because that pattern would be interpreted as negative.
Converting A Negative Denary Integer To Twos Complement
One reliable method is to write the positive magnitude in 8-bit binary, invert every bit and add 1. This method must use all eight bits from the start. If leading zeros are omitted before inversion, the result will be wrong.
For example, to represent -18, write +18 as 00010010. Invert to 11101101. Add 1 to obtain 11101110. The leading 1 confirms that the final pattern is negative.
An alternative is to select two’s complement place values directly. Begin with -128 and choose positive place values that bring the total to the required negative number. The invert-and-add-one method is usually easier to apply consistently.
Converting A Negative Pattern Back To Denary
The direct place-value method adds -128 and all positive place values represented by 1 bits. This is efficient and reduces the number of steps.
Another method reverses the construction: invert every bit, add 1 and interpret the result as the positive magnitude, then apply a minus sign. The operation works because taking the two’s complement of a value returns its additive opposite within the fixed width.
Whichever method is used, check that a pattern beginning with 1 produces a negative result between -128 and -1.
Boundary Values And Common Checks
01111111 is the greatest positive 8-bit two’s complement value, +127. Adding one produces 10000000, which represents -128 because the positive result +128 cannot be represented. This is signed overflow, although the syllabus focus here is representation and conversion rather than signed overflow rules.
10000000 is -128, not negative zero. 11111111 is -1 because -128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 equals -1. 00000000 is the single representation of zero.
Eight-Bit Twos Complement Place Values
| Bit Position | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| Place Value | -128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Important Twos Complement Patterns
| Pattern | Denary Value |
|---|---|
| 00000000 | 0 |
| 00000001 | +1 |
| 01111111 | +127 |
| 10000000 | -128 |
| 11111110 | -2 |
| 11111111 | -1 |
Unsigned And Signed Interpretation
| Pattern | Unsigned Value | 8-Bit Twos Complement Value |
|---|---|---|
| 01100100 | 100 | 100 |
| 10000000 | 128 | -128 |
| 11111111 | 255 | -1 |
| 11001000 | 200 | -56 |
Worked Examples
Positive Denary To Twos Complement
Question: Represent +93 in 8-bit two’s complement.
- Convert 93 to ordinary binary.
- 93 = 64 + 16 + 8 + 4 + 1.
- Write all eight bits with a leading 0.
Answer: 01011101.
Negative Denary To Twos Complement
Question: Represent -45 in 8-bit two’s complement.
- Write +45 as 00101101.
- Invert every bit: 11010010.
- Add 1: 11010011.
Answer: -45 is 11010011.
Negative Pattern To Denary By Place Values
Question: Convert 10110110 from 8-bit two’s complement to denary.
- Use place values -128, 64, 32, 16, 8, 4, 2, 1.
- Add values under 1 bits: -128 + 32 + 16 + 4 + 2.
- The total is -74.
Answer: 10110110 represents -74.
Negative Pattern To Denary By Inversion
Question: Convert 11100101 to denary.
- The leading bit is 1, so the value is negative.
- Invert: 00011010.
- Add 1: 00011011, which is 27.
- Apply the minus sign.
Answer: 11100101 represents -27.
Examination Guidance
- Always write exactly eight bits before inverting.
- Use -128 as the leftmost place value, not +128.
- Check the permitted range before trying to represent a denary value.
- A leading 1 indicates a negative value only when the pattern is being interpreted as two’s complement.
Common Mistakes
- Inverting a short binary value without first adding leading zeros.
- Forgetting to add 1 after inversion.
- Treating the leading 1 as a separate minus sign and then reading the remaining seven bits unchanged.
- Claiming that +200 can be represented in 8-bit two’s complement; the maximum positive value is +127.
Knowledge Check
1. Represent -1 in 8-bit two’s complement.
2. Convert 10010111 to denary as 8-bit two’s complement.
3. Represent -128.
4. What is the positive range of 8-bit two’s complement?
5. Why is 11111111 not 255 in two’s complement?