Wednesday, September 11, 2013

1's compliment 2's compliment

1’s compliment:
case 1:
  1001                       1001
 -1000             =>      0111(complimented)
__________                  __________
                               10000
              =>                    1
                           -----------
                               0001   

why? -->  a-b = a + (1111-b) – 1111
if a + (1111-b) > 1111 ans is posetive.
when a + (1111-b) > 1111 then a + (1111-b) have to be bigger than three bit.
So, a-b = a + (1111-b) -1111 = a + (1111-b) – 1000 + 1.
case 2: when a + (1111-b) < 1111
  1000                       1000
 -1001             =>      0110(complimented)  
__________                  __________
                               1110 => -0001(complimented)
So, a-b = a + (1111-b) -1111 =  - (1111 – (a + (1111-b)) ).

2’s compliment:
case 1:
  1001                       0111(complimented)
 -1000             =>      +   1
__________                  __________
                               1000
              =>             1001
                           -----------
                              10001 => 0001
a-b = a + (1111-b + 1) -10000.
case 2:
  1000                       0110 (complimented)  
 -1001             =>        +1
__________                  __________
                                0111
                             +1000
                           ----------
                               1111 =>      0000(complm.) + 1 = 0001
 => - 0001

why ? a - b = a + (1111 - b + 1) -10000 = - ( (1111 – (a + (1111 - b + 1) ) ) + 1 )

No comments:

Post a Comment