COBOL computer programmeringssprog definerer alle hukommelsesvariable i Data Division , en af fire store divisioner sproget kræver af ethvert program. I Data Division , har hver variabel et navn , en størrelse og et format . Hvis et program skal udføre matematik på tal , skal du bruge Comp - 3-format , som gemmer numeriske data i pakkede decimal formular. Decimal Math
COBOL har en flere måder at repræsentere tal i hukommelsen : I en karakter display format, som heltal og som en pakket decimal. Du kan indtaste , vise og udskrive numre karakter -format, men du kan ikke udføre matematik på dem. Du kan gøre matematik på heltal, men de har ikke decimaler. Comp - 3s pakket decimal format kan du udføre matematik på numre med decimaler , som f.eks dollar beløb , satser og fraktioneret mængder. For eksempel ganger en lønningslisten beregning en variablen præsterede arbejdstimer fra en betalings -rate variabel placere resultatet i en grov -pay variabel. En medarbejders timeløn sats og bruttoløn er i dollars og cents . Hendes arbejdstimer er i decimal timer. Disse variabler er perfekte kandidater til Comp - 3-format .
Pakket versus Display Decimal
Internt computeren gemmer én decimal i hver halvdel -byte af en pakket decimal variabel . Det sparer hukommelse og hastigheder beregninger. Et display decimal felt , såsom trykning og skærmen , bruger et ciffer per byte . I pakket decimal , behøver bit arrangementer ikke svarer til at vise tegn , så hvis du prøver at vise en Comp - 3 felt , får du volapyk tegn.
Picture Klausul
< br >
Hver variabel i data Division har en Picture klausul , som definerer , hvordan computeren butikker, og bruger oplysningerne . Billedet klausulen sætter variablen størrelse, komma og andre funktioner. For Comp - 3-format , tillader COBOL kun bestemte billede klausul karakterer : S , 9 og V. A " 9 " repræsenterer et ciffer , "v" lokaliserer underforstået decimal punkt i variabel og en "S" fortæller COBOL du ønsker at holde styr på antallet s tegn. COBOL anvender et " V " i stedet for en periode at angive, at det ikke gemmer den faktiske decimaltegnet karakter i en Comp - 3 område . Hvis du udelader "S" for variablens tegn , COBOL antager den kun indeholder positive tal .
Maksimal størrelse
COBOL begrænser Comp - 3 variable til maksimalt 18 cifre samt fortegn . Billedet bestemmelse om dette er S9 ( 18 ) . Du kan finde det underforstået decimal point overalt inden de 18 cifre , så billedet klausul S9 (16) V99 gælder også . Bemærk, at "V" for underforstået decimal point ikke bruge en decimal .
Brug
Du finder Comp - 3 variable i begge dataposter og på Arbejde -Storage Udsnit af data Division , men aldrig i trykte eller vises data, da disse kræver karakter felter. COBOL kontrollerer den type data flytter ind i en Comp - 3 variable . Hvis et program fejlagtigt sætter navne eller andre tegn data i en Comp - 3 felt , COBOL viser en fejl og standser programmet.