본문 바로가기
dev, tech

정수형 표현의 기본 개념

by 구띵 2006. 6. 17.

표현(representation) 혹은 내부 표현

 : 대상체에 저장되어 있는 비트열을 해석하는 구체적인 방법으로, 두 데이터형의 표현이 같으면 동일한 비트열을 두 데이터형으로 해석했을 때도 동일한 값을 얻는다.

 

인코딩

어떤 비트열에서 정수 값을 표현하기 위해 3가지 종류의 비트를 사용한다.

      - 부호 비트 : 유부호 정수형에만 존재. 1이면 음수, 0이면 양수로 해석

      - 값 비트 : 실제 값을 표현하는 비트

      - 패딩 비트 : 값이나 부호에는 아무런 영향을 주지 않지만, 추가 정보를 표시하는 비트

                        예) 패리티 비트

                        그러나, 일반적으로 패딩비트는 존해하지 않는 것으로 가정하고, 설명한다.

 

각 비트의 자릿수를 나타내는 말

      - MSB(Most significant bit) : 각 값 비트들 중 가장 큰 자릿수

      - LSB(Least significant bit) : 가장 작은 자릿수를 갖는 비트

      ※ 일반적인 십진 숫자를 쓰는 관례에 따라 MSB는 좌측에, LSB는 우측에 쓴다.

 

유부호 정수형에서의 음수 해석 방법 3가지

1) 부호 크기 표현

    가장 직관적이고 단순한 방법으로, 부호 비트가 1이면, 나머지 비트들이 표현하는 양수 값을 m이라고 했을때, -m으로 표현하기로 한다.

    가장 큰 양수와 가장 작은 음수의 절대 값이 같으며, 부호 비트에 따라 0을 각각 -0, +0으로 표현하는 특징이 있다.

 

2) 1의 보수 표현

    부호 비트가 1이고, 값 비트의 개수가 n이라면,

    해당 비트열을 (값 비트에 의한 양수 값) - (2^n+1)로 표현한다.

   

    간단히 해석하는 방법을 많이 사용하는데, 부호 비트가 1일 경우 모든 비트를 반전 시켜서 나오는 양수 값에 -를 붙여서 표현하는 방법이 있다.

 

3) 2의 보수 표현

    부호 비트가 1이고, 값 비트의 개수가 n이라면,

    해당 비트열을 (값 비트에 의한 양수 값) - 2^n 으로 표현한다.

 

    더 간단한 해석 방법은 부호 비트가 1일 경우, 1의 보수 표현을 구한 후 , 결과에 1을 더하는 것이다.

 

    2의 보수 표현은 0을 표현하는 방법이 하나이다. 대신, 여분의 비트열 하나로는 앞의 두 표현이 가질 수 없는 음수 하나를 더 표현할 수 있다.

 

 

댓글