반응형
컴퓨터에서 부호 있는 정수형 변수는 대부분 2's complement 방식을 사용한다. 어떤 수의 마이너스 부호 값은 그 수의 2's complement로 정의한다.
어떤 수의 2's complement는 2^N에서 그 수를 빼서 구한다. 예를 들면 0001의 2's complement는 10000 - 0001를 계산하여 1111이 된다. 즉, 양수 +1은 이진수로 0001이고 음수 -1은 이진수로 1111이 된다.
마이너스 부호값을 2's complement로 정의하면 부호 있는 정수의 계산이 매우 쉬워진다. 예를 들면 십진수 +2의 이진수는 0010이고 십진수 -1의 이진수는 1111이다. 이 두 수를 더하면 이진수로 10001이 되고 overflow 되는 부분을 제거하면 0001이 되어 결과값 +1을 구할 수 있다.
부호 있는 변수를 2's complement로 나타내면 다음과 같다.
10진수 |
2진수 |
+3 |
0011 |
+2 |
0010 |
+1 |
0001 |
0 |
0000 |
-1 |
1111 |
-2 |
1110 |
-3 |
1101 |
-4 |
1100 |
반응형
'컴퓨터' 카테고리의 다른 글
모니터 59Hz와 60Hz의 차이 (0) | 2019.10.19 |
---|---|
첵썸(Checksum)과 CRC의 차이 (0) | 2019.10.17 |
MSX 컴퓨터 개요 (0) | 2019.10.15 |
169.254 IP 주소 문제 원인과 해결 (0) | 2019.09.30 |
정수형 변수 제곱근 계산 알고리즘 (0) | 2019.09.27 |
댓글