-
10진수의 표현의 경우 2가지가 존재한다.
존(Zone) 형식과 팩(Pack)형식이다.
* 존 형식
10진수 한자리를 표현하는데 있어서 우리는 1바이트(8비트)를 이용하는데
그 중에 반인 4비트는 존 영역으로 나머지 4비트는 수치 영역으로 사용되며
존 영역은 항상 '1 1 1 1' 로 표시한다.
수치 영역에는 표현할 10진수의 한 자리의 값에 대한 2진수 값이 표현된다.
4비트로는 당연히 0~15까지의 수를 표현 할 수 있으며 10~15는 A~F를 이용하여 한 자리 수로 표현하게된다.
존 영역은 여러자리의 10진수릂 표현할 경우 10진수의 자릿수 만큼 존 형식을 연결하여 사용하고
부호는 최하위 바이트의 존 영역에 나타내게 된다.
다음은 이해를 돕기위한 존 영역의 예시이다.
색깔 하나마다 한바이트를 의미한다.
상위비트 하위비트
1111 숫자 1111 숫자 . . . . . . . 1111 숫자 S 숫자
팩 영역 S가 바로 부호를 나타내는 부분이 되며 다음과 같이 부호를 표현한다.
양수일 경우 : 1100 = C
음수일 경우 : 1101 = D
ex)
+ 3 3 1
"1 1 1 1" 0011 "1 1 1 1" 0011 "1100" 0001
- 3 3 1
"1 1 1 1" 0011 "1 1 1 1" 0011 "1101" 0001
* 팩 형식
숫자만 사용하게 되는 10진수 연산에서 존 형식을 이용한다면 최하위 바이트에서 부호를 표시하게되는 존 영역 외의
나머지 존 영역은 항상 1 1 1 1 이 됨으로 낭비가 일어나게되고 처리 속도를 늦추게된다.
이러한 단점을 해결하기위해 생겨난 형식으로써 1바이트에 10진수 2자리를 표현하고 최하위 4비트에 부호를 표시하게 된다.
다음은 이해를 돕기위한 팩 영역의 예시이다.
색깔 하나마다 한바이트를 의미한다.
숫자 숫자 숫자 숫자 숫자 숫자 숫자 S
팩 영역 S가 바로 부호를 나타내는 부분이 되며 다음과 같이 부호를 표현한다.
양수일 경우 : 1100 = C
음수일 경우 : 1101 = D
ex)
+ 7 7 2
0 1 1 1 0 1 1 1 0010 1100
- 7 7 2
0 1 1 1 0 1 1 1 0010 1101
반응형'ETC > 자료구조' 카테고리의 다른 글
2진수의 정수 표현 방식(부호절대값, 1의보수, 2의보수) (0) 2018.08.20 댓글