-
[디지털공학개론] 음수 표현 / 보수 구하기학점은행제/디지털공학개론 2021. 1. 15. 10:50
음수를 표현하기 위해서는 보수를 구해야한다.
보수를 구해야하는 이유
- 뺄셈 연산을 덧셈으로 처리할 수 있고, 음수를 표현할 수 있음
- CPU안에는 더하기, 빼기, 나누기, 곱하기 회로가 각각 있음
- 하지만 빼기를 더하기로 한다면 더하기, 나누기, 곱하기만 있으면 됌
- 따라서 중앙처리장치(CPU) 구조가 조금 더 간단해짐
r진 기수법의 보수 종류
- 여기서 r은 2, 8, 16이 될 수 있음
- r-1의 보수
- r의 보수
- 예 ) 10진 기수법 : 9의 보수와 10의 보수가 있음
- 예 ) 2진 기수법 : 1의 보수와 2의 보수가 있음
r진 기수법 보수를 구하는 공식
- r진 기수법 n자릿수 x의 r-1의 보수 : r의 n제곱 - 1 - x
- r진 기수법 n자릿수 x의 r의 보수 : r의 n제곱 - x
r진 기수법 보수를 구하는 방법
예) 10진 기수법의 보수 구하기
- 567의 9의 보수 : 10의 3제곱 - 1 - 567 = 999 - 567 = 432
- 567의 10의 보수 : 10의 3제곱 - 567 = 1000 - 567 = 433
예) 2진 기수법의 보수 구하기
- 00000011의 1의 보수 : 2의 8제곱 - 1 00000011 = 11111111 - 00000011 = 11111100
- 00000011의 2의 보수 : 2의 8제곱 - 00000011 = 100000000 - 00000011 = 11111101
- 1의 보수 : 1은 0, 0은 1로 대치
- 2의 보수 : 1의 보수 +1
예 ) 8진 기수법의 보수 구하기
- 24의 7의 보수 : 8의 2제곱 - 1 -24 = 77 - 24 = 53
- 24의 8의 보수 : 8의 2제곱 - 24 = 100 - 24 = 54
음수 정수 표현
- 최상위 비트 (MSB) 를 부호 비트로 사용함
- 양수(+) : 0
- 음수 (-) : 1
2진수 음수를 표현하는 방법
- 부호와 절대치 (sign-magnitude)
- 아래처럼 총 4비트를 사용한다 하더라도 맨 앞의 비트는 부호를 나타내는 비트다.
1의 보수 (1's complement)
- 보수를 두번 취하면 원래의 데이터를 찾을 수 있다
- 쉽게 말해 0을 1로 1을 0으로 바꾸면 1의 보수다
2의 보수 (2's complement)
- 맨 오른쪽 5번째 비트는 없앤다
- 음수로 표현되어 있는 2진수를 10진수로 변환하는 방법
'학점은행제 > 디지털공학개론' 카테고리의 다른 글
[디지털공학개론] 2진 코드 시스템 (0) 2021.01.20 [디지털공학개론] 2진수 연산 (0) 2021.01.20 [디지털공학개론] 8, 16진수를 10진수로 변환 (0) 2021.01.14 [디지털공학개론] 10진수를 16진수로 변환 (0) 2021.01.14 [디지털공학개론] 10진수를 8진수로 변환하는 방법 (0) 2021.01.14