이론 공부
2의 보수
옥식
2021. 12. 23. 19:24
https://yiyj1030.tistory.com/83
2의 보수란?? 쉬운 설명으로 궁금증 해결.. (비트 연산)
2의 보수: 컴퓨터가 음수를 저장하기 위해 사용하는 방법 중 하나. 예를 들어 4비트 머신을 생각해보자. 이 머신은 0000부터 1111부터 표현이 가능하다. 총 16개. 양수만을 저장하고싶다면 숫자 0부
yiyj1030.tistory.com
여기 블로그 최고다. 여길 보자!!!!
10진수 33을 8비트의 저장공간에 2의 보수로 표기하라 하라
일단 8비트이므로 8칸이다.
보수는 '보충 해주는 수'이다.
예를들어 10진수 4의 보수는 4 + x = 10 이 되는 6이다.
2의 보수는 음수이다.
2진수에서 2의 보수는, 더해서 2, 즉 2진수 표현으로 10(2)이 되어야한다.
즉, 맨 왼쪽비트가 1로 증가하고 나머지는 0이 되어야 한다.
1. 10진수 33의 2진수 값
100001(2)
2. 8칸에 넣기
0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
3. 비트반전 시키키 (0은 1로, 1은 0으로)
1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 |
4. 가장 낮은 비트에 1 더하기
1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |
이 값이 33의 2의 보수이다.
5. 확인
2와 4를 더하면
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
맨 왼쪽을 제하고 0이 되는 9자리가 나온다.
정리
x의 2의 보수 구하기
1. x의 2진수 값 구하기
2. x의 2진수 값 비트반전 시키기
3. 비트반전 시킨 값의 가장 낮음 비트에 1 더하기
4. 최종적으로 1번과 3을 더해 맨 왼쪽을 제하고 0이 되는 지 확인한다.
출처: https://life-with-coding.tistory.com/298 [코딩젤리]