The COBOL dator programmeringsspråk definierar alla minnesvariabler i Data Division , en av fyra divisioner språket kräver av varje program . I Data Division , har varje variabel ett namn , en storlek och ett format . Om ett program behöver för att utföra matematik på siffror , använd Comp - 3-format , som lagrar numeriska data i packade decimalform . Decimal Math
COBOL har ett flertal sätt att representera tal i minnet : i en karaktär visningsformat , som heltal och som en packad decimal . Du kan mata , display och siffror tryckta i teckenformat , men du kan inte göra matte på dem . Du kan göra matten på heltal , men de har inte decimaler . Comp - 3 : s packade decimal format kan du utföra matematik på tal med decimaler , exempelvis dollar belopp , priser och hundradels kvantiteter . Till exempel , multiplicerar en löneberäkning ett antal utförda arbetstimmar av en betal - kurs variabel , placera resultatet i ett brutto - lön variabel . En anställds timlön ränta och lönesumman är i kronor och ören . Hennes arbetade timmar är i decimala timmar . Dessa variabler är perfekta kandidater för Comp - 3-format . Addera Packad kontra Display Decimal
Internt lagrar datorn en decimal siffra i varje halva - byte av en packad decimal variabel. Detta sparar minne och hastigheter beräkningar . En display decimal fält , t.ex. för utskrift och skärm , använder en siffra per byte . I packade decimal , motsvarar inte de lite arrangemangen inte visa tecken , så om du försöker visa en Comp - 3 fält , får du rotvälska tecken .
Bild klausul
Varje variabel i Data Division har en bild klausul , som definierar hur datorn lagrar och använder informationen . Bilden klausulen anger variabeln storlek , decimalkomma och andra funktioner . För Comp - 3-format , låter COBOL endast vissa picture klausul tecken : S , representerar 9 och V. " 9 " en siffra , "V " lokaliserar underförstådd decimal punkt i variabeln och ett " S " berättar COBOL du vill att hålla reda på hur många s tecken . COBOL använder ett " V " i stället för en period för att ange att den inte lagrar själva karaktären decimalkomma i en Comp - 3 fält . Om du utelämnar " S " för variabelns tecken , antar COBOL den innehåller bara positiva tal .
Maximal storlek
COBOL begränsar Comp - 3 variabler till ett maximalt 18 siffror samt tecken . Bilden klausul till detta är S9 ( 18 ) . Du kan hitta den implicita decimalkomma som helst inom de 18 siffror , så att bilden klausul S9 ( 16 ) V99 är också giltigt . Observera att " V " för underförstådda decimalkomma inte använder upp en decimal siffra .
Använd
Du hittar Comp - 3 variabler i både dataposter och i Arbete - Storage avsnitt av Data Division , men aldrig i tryckta eller visas uppgifter , eftersom dessa kräver karaktär fält . COBOL kontrollerar den typ av data som flyttar in i en Comp - 3 variabeln . Om ett program av misstag sätter namn eller andra data karaktär i en Comp - 3 fält , visar COBOL ett fel och stoppar programmet .