코볼에서는 Decimal 값을 관리하기 위해 PIC 9(n) COMP-3 타입을 사용한다. PIC 9(n) COMP-3 타입으로 정의한 변수의 길이는 어떻게 될까? n 값에 1을 더하고, 나누기 2를 하고, 올림 하면 된다. Length(bytes) = CEILING((n+1)/2) 1바이트에 숫자값 2개씩 저장되는 구조이고, 앞(혹은 뒤)에 부호 값 1자리가 존재하기 때문이다. ※ 부호 : 양수는 C, 음수는 D 예를 들어, PIC 9( 3 ) COMP-3 인 경우, ( 3 +1) / 2 = 2 bytes 가 된다. PIC 9( 4 ) COMP-3 인 경우, ( 4 +1) / 2 = 2.5 를 올림하여, 3 bytes가 된다. 소수점은 어떻게 될까? 예를 들어, 아래의 변수인 경우 S9( 7 )V 99 COMP-3 길이는 ( 9 +1) / 2 = 5 bytes 가 된다. 참고 https://www.ibm.com/support/knowledgecenter/ko/SSMKHH_10.0.0/com.ibm.etools.mft.doc/ad06900_.htm http://www.3480-3590-data-conversion.com/article-packed-fields.html Written by dukgun.com