Cambridge O Level Computer Science · Syllabus 2210 · Data Representation
Two's Complement
What is Two's Complement?
Two's complement is a method of representing positive and negative integers in binary in which the most significant column carries a negative place value, so an 8-bit pattern represents any integer from minus 128 to plus 127 with a single representation of zero.
This definition is part of the Data Representation chapter in Cambridge O Level Computer Science.
Two's Complement in context
Two's complement is the standard way of representing negative numbers in binary. In an 8-bit two's-complement number the leftmost column is given the place value −128 instead of +128; every other column keeps its usual positive value. That single change lets one 8-bit pattern represent any integer from −128 to +127. A positive value has a most significant bit of 0; a negative value has a most significant bit of 1.
Common mistakes with Two's Complement
- 4. Reading the most significant bit as a minus sign. Why it fails In two's complement the leading 1 is not a sign symbol attached to the rest; it is a place value of −128. Reading 11010011 as "minus 1010011" gives −83. The correct value is −45. Fix Either use the signed place values with −128 at the left, or invert and add 1. See section 1.1 H.
- M8. "The most significant bit is simply a minus sign." Why it fails In two's complement the leading 1 is a place value of −128 that is added to the rest — it is not a symbol you can detach and ignore. Correct model Read 11010011 as −128 + 64 + 16 + 2 + 1 = −45, not as "minus 1010011" = −83. Exam-safe "In two's complement the most significant bit has a place value of −128; a leading 1 indicates a negative number but the other bits still add positive values to it." Test yourselfHideQ. What denary value is the two's-complement pattern 11111111?A. −1, not −127.
- M9. "Two's complement has both a positive and a negative zero." Why it fails That is true of some other signed schemes, but not two's complement. Here 10000000 is already taken — it means −128. Correct model There is exactly one zero, 00000000. That is why the range −128 to +127 is lopsided. Exam-safe "Two's complement has a single representation of zero, which is why an 8-bit range runs from −128 to +127." Test yourselfHideQ. What does 10000000 represent in 8-bit two's complement?A. −128.
Questions students ask about Two's Complement
How do you read a negative number stored in two's complement?
In an 8-bit two's complement number the leftmost (most significant) bit has a place value of −128 instead of +128; every other column keeps its usual positive value. Read the pattern by adding the place values of every 1 bit, including the negative one. For example, 11010011 is −128 + 64 + 16 + 2 + 1 = −45 — not "minus 1010011", which would wrongly give −83. This lets one 8-bit pattern represent any integer from −128 to +127, with a single representation of zero.

