- 정수의 부호
- 부호 및 크기 방식(Signed Magnitude)
- 1진 보수(Signed 1’s Complement)
- 2진 보수(Signed 2’s Complement)
- Reference
정수의 부호
-
첫 번째 비트가 0이면 부호가 없는 정수(0과 양의 정수)
-
첫 번째 비트가 1이면 부호가 있는 정수(음의 정수)
-
부호 및 크기 방식, 1진 보수 방식, 2진 보수 방식에 따라 표현하는 방법이 다르다.
양의 정수
-
첫 번째 비트는 0
-
나머지 비트는 크기이다.
예) 01001010
맨 앞의 0은 부호, 1001010은 크기
이진수 1001010 = 2의 6승 + 2의 3승 + 2의 1승 = 64 + 8 + 2 = 74
음의 정수
- 첫 번째 비트는 1
부호 및 크기 방식(Signed Magnitude)
-
부호 비트를 제외한 나머지 비트는 크기를 나타낸다.
예) 11001010
맨 앞의 1은 부호, 1001010은 크기
이진수 1001010 = 2의 6승 + 2의 3승 + 2의 1승 = 64 + 8 + 2 = 74
따라서 -74 -
단점
- 10,000,000은 크기가 0이고 부호가 있는 -0이다.
- 따라서 +0(=00,000,000) 과 -0(10,000,000) 두 가지 0이 존재한다.
1진 보수(Signed 1’s Complement)
-
부호 비트를 제외한 나머지 비트를 1진 보수를 취한 값이 크기를 나타낸다.
예) 11001010
맨 앞의 1은 부호, 1001010의 1진 보수는 크기
1진 보수를 취할 때는 0은 1로 1은 0으로 변환한다.
따라서 이진수 1001010의 1진 보수는 0110101이다.
이진수 0110101 = 2의 5승 + 2의 4승 + 2의 2승 + 2의 0승 = 32 + 16 + 4 + 1 = 53
따라서 -53 - 단점
- 11,111,111의 맨 앞의 1은 부호, 1,111,111의 1진 보수는 0,000,000이어서 크기가 0
- 따라서 +0(=00,000,000)과 -0(= 11,111,111) 두 가지 0이 존재한다.
- 연산 방법
- 자리올림이 발생하면 결과에 자리올림한 수를 더한다.
- 예: 01110011 + 11000101은 아래 그림처럼 연산하여 00111001이 된다.
2진 보수(Signed 2’s Complement)
-
부호 비트를 제외한 나머지 비트를 2진 보수를 취한 값이 크기를 나타낸다.
예) 11001010
맨 앞의 1은 부호, 1001010의 2진 보수는 크기
2진 보수를 취할 때는 1진 보수를 취한 후에 1을 더한다.
따라서 이진수 1001010의 1진 보수는 0110101이고, 여기에 +1을 하여 2진 보수는 0110110이 된다.
이진수 0110110 = 2의 5승 + 2의 4승 + 2의 2승 + 2의 1승 = 32 + 16 + 4 + 2 = 54
따라서 -54 - 장점
- 0이 한 가지만 존재한다.
- 연산방법
- 자리올림이 발생한 것을 무시한다.
- 예: 01110011 + 11000101 은 아래 그림처럼 연산하여 00111000이다.