Kraklog

진법 연산 - 연산과 보수(2) 본문

Study/디지털논리회로

진법 연산 - 연산과 보수(2)

Krakens 2023. 8. 14. 00:50
728x90

디지털 컴퓨터는 모든 데이터를 0과 1로 표현하므로 , 부호(+,-)도 0과 1로 표현한다.
컴퓨터에서는 부호비트를 이용하여 양수를 0으로, 음수를 -로 표현하는데 가장 왼쪽의 최상위 비트 (MSB)에 나타낸다.

 

단, 2진수로 데이터를 표시 할 때는 항상 비트의 크기를 동일하게 해주어야 한다.
즉 부호 비트의 위치를 항상 동일한 곳에 두어야 하는데 
예를 들어 +5와 -5를 8비트를 표현한다면  0000_0101 와 1000_0101로 나타낼 수 있다.

부호 비트를 사용하여 양수와 음수를 사용하는 방법은 세 가지 표현 방식이 있다.

  • 부호의 절대치 표현 
    부호와 절대치 효현은 부호만 + -로 나타내고 뒷자리는 절댓값 크기를 사용한다.
    사람이 보기에는 편하지만 연산에 적용하기에는 적당하지 않다.
    (ex: +55 , -55는 부호를 제외하고 2진수 데이터 값은 같다)

  • 1의 보수 (1's complement representation) 
    1의 보수는 각 자릿수의 값을 0을 1로, 1을 0으로 바꾼다.
    5를 예로 들면 0000_0101 이 되는데, 이를 1의 보수를 취하면 1111_1010이 된다.
  • ,2의 보수 (2's complement representation)
    2의 보수는 1의 보수에 1을 더한다. 위의 예를 다시 들면
    1의 보수인 1111_1010에 1을 더한 1111_1011이 된다.


모든 진법에는 보수가 2가지 있으며, 8진법이라면 8의 보수와 7의 보수가, 10진법이라면 10의 보수와 9의 보수가 있다.
10진수 87로 예를 들자면
87의 9의 보수는 100 - 1 - 87 = 22 이다. 또한 10의 보수는 100 - 1 -87 +1 =23이 된다.
즉, 10진수에서 9의 보수는 각 자리를 9로 만드는 값을 말하며, 10의 보수는 이 값에 +1을 한 값을 말한다.

컴퓨터 연산에서는 음수를 표현하기 위해서 보수를 사용하는데, 연산을 쉽게 하기 위함도 있으며 뺄셈 회로 없이 보수 회로만으로도 뺄셈 연산을 할 수 있을뿐더러 이외에는 음수를 표현 할 수 있는 방법이 없기 때문이다. 

초록색은 데이터 크기를 벗어나기때문에 truncated 되었다.

 

728x90

'Study > 디지털논리회로' 카테고리의 다른 글

문자 코드  (0) 2023.08.14
숫자 코드  (0) 2023.08.14
진법 연산 - 연산과 보수(1)  (0) 2023.08.13
진수  (0) 2023.08.13
펄스파형  (0) 2023.08.13