1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Arithmetic Overflow

  1. Feb 5, 2008 #1
    Perform the following operations, representing the decimal numbers in 8-bit two’s complement code. Analyze whether the operations produce arithmetic overflow. Explain how you have estimated the overflows.

    20 – 5; 127 –126; 127 – 128; -20 – 111; -20 – (+111);
    - 43 - 120; -127 – 2; - 126 – 2.

    I am having a very difficult time trying to understand this overflow concept. Any guidance would be greatly appreciated


    *20-5
    0001 0100 (20)
    1111 0100 (-5) 2's

    1 0000 1011

    No overflow

    *127-126
    0111 1111 (127)
    1000 0010 (-126) 2's

    1 0000 0001 No overflow

    *127 - 128
    0111 1111 (127)
    1000 0000 (-128) 2's

    1111 1111 No overflow or carryout

    *-20-111
    1110 1100 (-20) 2's
    1001 0001 (-111) 2's

    1 0111 1101 Overflow (adding two negatives gives a positive)

    *-20 - (+111)
    1110 1100 (-20) 2's
    1001 0001 (-111) 2's

    1 0111 1101 Overflow (adding two negatives gives a positive)

    *-43-120
    1101 0101 (-43) 2's
    1000 1000 (-120) 2's

    1 0101 1101 Overflow (Adding 2 negatives gives a positive)

    *-127-2
    1000 0001 (-127) 2's
    1111 1110 (-2) 2's

    1 0111 1111 (Overflow 2 negatives gives a positive)

    *-126-2
    1000 0010 (-126) 2's
    1111 1110 (-2) 2's

    1 1000 0000 (No overflow)


    Am I doing this correctly?
     
  2. jcsd
  3. Feb 6, 2008 #2
    Any help?
     
  4. Feb 6, 2008 #3

    mgb_phys

    User Avatar
    Science Advisor
    Homework Helper

    In twos complement you can represent a range -2^(n-1) to +2^(n-1) - 1
    So in 8 bits you can fit numbers from -128 to 127
    An interesting feature is that the most negative number is larger magnitude than the largest positive number.
     
  5. Feb 6, 2008 #4
    Have I shown this properly according to the instructions provided?
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?