5-маъруза ўзгарувчиларнинг бутун, мантиқИЙ, ҲАҚИҚий турлари
Download 21.2 Kb.
|
1 2
Bog'liq5-маъруза
- Bu sahifa navigatsiya:
- END_VAR Мантиқий тур Мантиқий ўзгарувчилар BOOL
- Хақиқий турлар Хақиқий REAL
Ишорасиз бутун сонларнинг қуйи чегараси 0, юқори чегараси эса ифода билан аниқланади. Бунда n – соннинг неча хонали эканлигини ифодалайди. Ишорали сонлар учун эса қуйи чегара , юқори чегара эса ифода билан аниқланади. Бутун типли маълумотларнинг номлари 16-разрядли (16 хонали) ўлчам олдига қушимча қўшиш билан хосил қилинади. S(short *1/2) қисқа, D (double *2) иккиланган, L (long *4) узун. Олдинга қўшилган U харфи (unsigned) ишорасиз сон турини билдиради. BYTE, WORD, DWORD ҳамда LWORD туридаги ўзгарувчилар ҳудди битли қатор ANY_BIT стандарти каби аниқланади. Бундай ўзгарувчилар учун сон қийматининг диапазони ҳақида гапириш умуман нотўғри бўлади. Улар 8, 16 ва 32 битли қаторни ифодалайди. Уларга яхлит сон каби мурожат қилинмайди. Улар билан ишлаганда хар бир битга мурожот қилиб ишланади. Бутун сонлар иккилик, саккизлик, ўнлик ва ўн олтилик саноқ системаларида ифодаланиши мумкин. Сонли константалар ўнликдан фарқли равишда саноқ системасини кўрсатишни талаб этади. Бунда “#” белгисидан фойдаланилади. Масалан:
Ўнлик саноқ системасидаги 10 дан 15 гача бўлган сонлар ўн олтилик саноқ системасида A дан F гача бўлган харфлар ёрдамида ёзилади. Сонларни ифодалашда ўқишга енгиллик бўлиши учун “_”(пастки чизиқча) белгисидан фойдаланилади. Бу белгининг қўлланилиши соннинг қийматига хеч қандай таъсир кўрсатмайди. Масалан 10_000, 16#01_88. Мазкур белгини рақамлар орасида ёки рақам охирида қўллаш мумкин. Бу булгини икки ёки ундан кўп марта кетма-кет қўллаш хато хисобланади. Масалан қуйидагича:
Бутун сонли ўзгарувчилар эълон қилинган пайтда 0 қийматига эга бўлади. Агар ўзгарувчиларга аввалдан қандайдир қиймат бериш керак бўлса, бу ўзгарувчини эълон қилиш сатрида амалга оширилади. Масалан: VAR wVar0, wVar1: WORD; (*2 ўзгарувчи тури WORD*) byVar2 :BYTE; (* бошланғич қиймати 0 га тенг бўлган BYTE тури *) byVar3 :BYTE :=16#55 (*бошланғич қиймати 55h га тенг бўлган BYTE тури *) END_VAR Мантиқий тур Мантиқий ўзгарувчилар BOOL калит сўзи билан эълон қилинади. Бу уларнинг Бул алгебрасига тегишли эканлигини англатади. Улар фақатгина мантиқий ноль ЁЛҒОН (FALSE) ҳамда мантиқий бир РОСТ (TRUE) қийматларнигина қабул қила олади. Ўзгарувчи эълон қилинганида бошланғич мантиқий ёлғон қийматида бўлади. VAR bVar1: BOOL :=TRUE; wVar2: WORD; END_VAR Мантиқий ўзгарувчи қийматини бутун сонга ўзгартирганда FALSE қиймати 0 ни, TRUE қиймати эса 1ни беради. wVar2:= BOOL_TO_WORD(bVar1); (*Натижа 1 га тенг*) Аксинча, ҳар қандай бутун сонни мантиқий ўзгарувчига ўгирганда 0 дан фарқли бўлган ҳар қандай қиймат мантиқий ростни (TRUE) беради. Натижаси мантиқий қийматни берувчи амалларни мантиқий ўзгарувчига ўзлаштириш мумкин. bVar1:=wVar2>5000; Қийматига кўра BOOL туридаги ўзгарувчи бор йўғи 1 бит жойни эгаллайди. Лекин транслятор томонидан хотирани автоматик тақсимлашда код самарадорли бўлиши учун BOOL туридаги ўзгарувчига ҳам 1 байт жой ажратилади. Ушбу ўзгарувчи дискрет қириш ва чиқишлар билан боғланган ёки тўғридан-тўғри битли адрес билан аниқланган бўлиб, хақиқатдан физик жихатдан бир битни ифодалайди. Хақиқий турлар Хақиқий REAL турдаги ўзгарувчилар диапазонидаги хақиқий сонларни қабул қила олади. Сон билан банд бўдган 32 битнинг мантиссаси 23 битни банд қилади. Натижада тасвирлаш аниқлиги тахминан 6-7 ўнлик рақамлардан ташкил топади. Узун хақиқий формат LREAL 64 битни эгаллайди. Рақам 52 битли мантиссадан ташкил топади. Сонни тасвирлаш аниқлиги эса тахминан 15-16 ўнлик рақамлардан иборат бўлади. Мазкур турнинг диапазони оралиғида бўлади. Сузувчи вергулли сонлар нуқта форматида ёки экспоненциал шаклда ёзилади. Масалан 14.0, -120.2, 0.33, 1.2Е10, 3.1е7. Download 21.2 Kb. Do'stlaringiz bilan baham: |
1 2
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling