cyphen156

수치자료 : 존(Zone)과 팩(Pack) 형식 표현 본문

컴퓨터공학/자료구조

수치자료 : 존(Zone)과 팩(Pack) 형식 표현

cyphen156 2023. 8. 3. 15:39

컴퓨터가 10진수를 표현하는 방법은 여러가지 방법이 있지만 오늘 소개할 방법은 존(Zone)팩(Pack)이라는 형식이다.

이 두 방법은 IBM에서 BCD/EBCDIC(Binary Coded Decimal / Extended Binary Coded Decimal Interchange Code)라는 문자 코딩방식에서 나온 특수한 형식으로, 주로 정밀한 수의 계산이 필요한 금융권에서 사용하는 일반적인 프로그래밍 언어에서 사용하는 방법은 아니다.

 

두 형식 모드 수를 표현할 때 1바이트 단위로 사용한다는 것은 동일하지만 약간의 차이점이 존재한다.

존(Zone) 형식 표현법

존 형식은 상위 4비트는 1111(F) 또는 1110(D, 양)/1100(C, 음수)로 채워 부호비트인지 여부를 알려주고, 하위 4비트에 10진수 정수 한자리 (0~9)를 표현하는 방식이다.

24비트에 저장된 Zone 형식으로 표현된 +213

팩(Pack) 형식 표현법

팩 형식은 존 형식과 다르게 부호비트를 마지막 바이트의 하위 4비트에  부호를 표시하는 방법이다.

팩 형식은 존 형식과 비교하여 FFFF가 들어가는 Zone영역이 존재하지 않기 때문에 메모리 낭비를 줄이고 데이터의 처리 시간을 줄여준다.

24비트에 저장된 Pack 형식으로 표현된 +213, 8비트의 여유공간이 생겼다.

하지만 실제로 컴퓨터에 정수형 변수를 저장하면 이렇게 표현되지는 않는다. 

그 이유는 언어마다 다르겠지만 보통 정수형 자료는 4바이트(32)비트 단위로 저장되고, 처리되기 때문이다.

그래서 실제 10진수 +213을 팩 형식 표현법으로 변수로 저장하게 된다면 아래와 같은 방식으로 표현된다.

32비트에 저장된 pack 형식의 +213

오늘은 존과 팩 형식에 대해 알아보았다.

다음에 쓸 내용은 일반적인 컴퓨터에서 사용되는 2의 보수 표현법이다.