Overflow란?

Posted 2008. 10. 14. 16:54 by MINOK
※양수+양수=음수 , 음수+음수=양수 >> Overflow
※4bit + 4bit = 4bit를 초과하는 값이 발생 >> Carry

1. 1의보수
2의4제곱 개 표현가능 (16개:0이 2개)
0 1 1 1     >>  +7
    …
0 0 0 0     >>  +0
--------------
1 1 1 1     >>  -0  
    …
1 0 0 0     >>  -7

-0과 +0이 다르게 된다.

2. 2의보수 
(1의보수 +1)
2의 4제곱 -1 개 표현가능(15개:0이 1개) 

1의보수의 음수부에 1의보수를 다시 취하여 1을 더한다.
   0 1 1 1     >>  +7
       …
   0 0 0 0     >>  +0
----------------
1 0 0 0 1     >>  -1
1 0 0 1 0     >>  -2
      …        
1 0 1 1 1     >>  -7

▶최상위 비트가 받아들이는 carry와 최상위비트에서 발생되는 carry의 값이 다를 경우 overflow라고 할수있고, 같을 경우에는 단순 carry만 발생한경우라 할 수 있다.