Overview
Negative values - Possible solutions.
  (When working with signed values, all bits important.)

  Flag.
    High bit or separate flag.
    Requires different algorithm for adding and subtracting.
    (Used with floats, packed BCD)


ones' complement (logical complement) Complement each bit. 108 = 01101100b -108 = 10010011b Halves the magnitude 0-127 (+/-) Simple but creates a +/- zero. And requires a final adjustment step when used mathematically. 0000 0010 2 1111 1110 + -1 ---------- 1 000000000 1 end around carry ---------- 1 And end around borrowing may occur for subtraction. Can make more complex math such as multiplication more complicated. Because -0 has high bit set, makes testing for zero harder. And a negative 0 will most likely cause end around carry/borrow in most addition or subtraction operations. Two's complement.