Superkkt Blog

많은 컴퓨터 시스템이 사용하는 2의 보수 표기법에서 n개의 비트로 표현 할 수 있는 수는 아래와 같다.

1. 부호가 없는 경우 : 2^n 개
2. 부호가 있는 경우 : -2^(n-1) ~ 2^(n-1)-1

2의 보수 체계에서는 가장 높은 비트(High Order Bit)를 부호 비트로 사용한다. 이 비트가 0이면 양수, 1이면 음수이다. 그래서 부호를 위해 한개의 비트를 사용하기 때문에 부호 있는 숫자는 2^(n-1)개의 수 표현을 가질 수 있는것이다.

똑같은 이진수 표현도 부호여부에 따라 해석이 달라진다. 예를들어 이진수 1000 0000 0000 0001 는 부호 없는 데이터로 해석하면 32,769가 된다. 하지만 부호 있는 데이터로 해석하면 HO 비트가 1이기 때문에 음수로 해석되고 값은 -32,767이 된다.

2의 보수 체계에서 부호를 바꾸는 방법은 아래와 같다.

1. 보든 비트를 역전 시킨다. 0은 1로, 1은 0으로..
2. 그 결과에 1을 더한다(오버플로우는 무시한다)

위의 방법으로 -32,767의 부호를 바꿔보자..

1000 0000 0000 0001 (-32,767)
0111 1111 1111 1110 (비트 역전)
0111 1111 1111 1111 (결과에 1을 더함)


양수 표현에서는 이진수의 숫자가 커질수록 표현하는 수가 커지는 것처럼 음수에서도 마찬가지로 적용이 된다.

1000 0000 0000 0001 -> -32,767
1000 0000 0000 0010 -> -32,766
2006/06/12 09:03 2006/06/12 09:03

trackbacks

trackbacks rss

이 글에는 트랙백을 보낼 수 없습니다

Leave a Comment