5-маъруза ўзгарувчиларнинг бутун, мантиқИЙ, ҲАҚИҚий турлари


Download 21.2 Kb.
bet2/2
Sana28.12.2022
Hajmi21.2 Kb.
#1022765
1   2
Bog'liq
5-маъруза

Тур

Қуйи чегараси

Юқори чегараси

Байтдаги ўлчами

BYTE

8 бит

1

WORD

16 бит

2

DWORD

32 бит

4

LWORD

64 бит

8

Тур

Қуйи чегараси

Юқори чегараси

Байтдаги ўлчами

SINT

-128

127

1

INT

-32768

32767

2

DINT

-231

231-1

4

LINT

-263

263-1

8

USINT

0

255

1

UINT

0

65535

2

UDINT

0

232-1

4

ULINT

0

264-1

8

Ишорасиз бутун сонларнинг қуйи чегараси 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 битли қаторни ифодалайди. Уларга яхлит сон каби мурожат қилинмайди. Улар билан ишлаганда хар бир битга мурожот қилиб ишланади.
Бутун сонлар иккилик, саккизлик, ўнлик ва ўн олтилик саноқ системаларида ифодаланиши мумкин. Сонли константалар ўнликдан фарқли равишда саноқ системасини кўрсатишни талаб этади. Бунда “#” белгисидан фойдаланилади. Масалан:

Иккилик

2#0100_1110

Саккизлик

8#116

Ўн олтилик

16#4E

Ўнлик

78

Ўнлик саноқ системасидаги 10 дан 15 гача бўлган сонлар ўн олтилик саноқ системасида A дан F гача бўлган харфлар ёрдамида ёзилади.
Сонларни ифодалашда ўқишга енгиллик бўлиши учун “_”(пастки чизиқча) белгисидан фойдаланилади. Бу белгининг қўлланилиши соннинг қийматига хеч қандай таъсир кўрсатмайди. Масалан 10_000, 16#01_88. Мазкур белгини рақамлар орасида ёки рақам охирида қўллаш мумкин. Бу булгини икки ёки ундан кўп марта кетма-кет қўллаш хато хисобланади.
Масалан қуйидагича:

2#1_0_0_0_1_0_0_0

Тўғри ёзилган, 2#10001000 га тенг.

2#1_0_0_0___1_0_0_0

Нотўри ёзилган 3та “_”белги кетма-кет келган.

Бутун сонли ўзгарувчилар эълон қилинган пайтда 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