-
진법변환 - 음의 10진수를 2진수로 (2의보수)학교 2020. 9. 10. 17:09
음수표현을 하기 위해 절댓값, 1의보수, 2의보수 개념이 필요하다.
최상위 비트(가장 왼쪽 비트, MSB)로 부호 표현
- 0: 양수
- 1: 음수
컴퓨터의 음수표현 방법은 크게 3가지이다.
1. 양수 표현에 부호만 바꾸기
ex) +4 : 0000 0100
-4 : 1000 0100
2. 1의 보수로 나타내기
1의 보수: 0은 1로, 1은 0로 바꿔준다.
ex) -4: 1111 1011
3. 2의 보수로 나타내기
2의 보수: 1의 보수로 변환 후 +1 해준다.
ex) -4: 1111 1100
1, 2번은 문제가 발생하기 때문에 현재 컴퓨터에서는 2의 보수 표현 방법을 사용한다.
2의 보수 만들기
1. 2의 보수로 표현할 숫자의 크기(절댓값)를 비트로 표현한다.
ex) -5를 +5의 2의 보수로 표현하려면!
-5 표기를 위해 |-5| = 5의 비트 표기를 한다.
5 = 0000 0101
2. 1번 결과의 1의 보수를 구한다.
ex) 5의 1의 보수 = 1111 1010
3. 2번 결과에 +1을 해준다.
ex) 1111 1010 + 0000 0001 = 1111 1011
4. 3번 결과가 본래 표현하고자 한 수의 음수 표기이다.
ex) 1111 1011 = -5
2의 보수 해석하기
2의 보수 만드는 순서를 거꾸로 따라가면 2의 보수를 해석할 수 있다.
1. 현재 2의 보수에서 -1을 해준다.
2. 1의 보수를 구한다. (다시 1의 보수해주면 원래대로 가겠지!)
3. 최종 결과에 -(마이너스)를 붙인다.
4. 2의 보수의 십진표현을 알 수 있다.
'학교' 카테고리의 다른 글
[2020-1/자료구조] Lists (0) 2020.07.19