40
VULNIAUS GEDIMONO TECHNIKOS UNEVERSITETAS STATYBOS FAKULTETAS STATYBOS INŽINERIJOS KATRDRA Skaičiavimo sistema. Skaičių ir informacijos vaizdavimas kompiuteryje Referatas 1

skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

Embed Size (px)

Citation preview

Page 1: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

VULNIAUS GEDIMONO TECHNIKOS

UNEVERSITETAS

STATYBOS FAKULTETAS

STATYBOS INŽINERIJOS KATRDRA

Skaičiavimo sistema. Skaičių ir informacijos

vaizdavimas kompiuteryje

Referatas

Atliko: stud. Sf-14/3 Marijus Eltermanas

Priėmė doc. Juozas Laučius

1

Page 2: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

TurinysĮvadas.............................................................................................................................3

1.1 Skaičiavimo sistemos...........................................................................................5

1.2 Sveikųjų dešimtainiu skaičių išreiškimas dvejetaine, aštuntaine arba šešioliktaine sistema......................................................................................................7

1.3 Dešimtainių trupmenų išreiškimas dvejetaine,....................................................7

1.4 Dvejetainiu, aštuntainiu ir šešioliktainiu skaičių dešimtaine skaičiavimo sistema.......................................................................................................................8

1.5 Aštuntainiu ir šešioliktainiu skaičių išreiškimas skaičiavimo sistema.............9

1.6 Dvejetainiu skaičių išreiškimas aštuntaine (šešioliktaine) skaičiavimo sistema9

2.1 Skaičių ir informacijos vaizdavimas kompiuteryje............................................10

2.2 Informacijos vaizdavimas..................................................................................10

2.3 Loginiu duomenų vaizdavimas..........................................................................20

2.4 Fiksuoto kablelio skaičių vaizdavimas..............................................................21

2.5 Slankaus kablelio skaičių vaizdavimas..............................................................24

2.6 Aritmetines operacijos įvairiomis skaičiavimo sistemomis...............................25

2.7 Informacijos apdorojimo principai kompiuteryje..............................................26

Išvados:........................................................................................................................28

Šaltinių sąrašas............................................................................................................29

2

Page 3: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

ĮvadasSkaičių kalba, kaip ir kiekviena kalba, turi savo abėcėlę. Tos skaičių kalbos, kuria dabar ,,kalba”

beveik visas pasaulis, abėcėlė - dešimt skaitmenų, nuo 0 iki 9. Ši kalba vadinama dešimtaine

skaičiavimo sistema. Tačiau ne visais laikais ir ne visur žmonės vartojo dešimtainę skaičiavimo

sistemą. Matematiniu požiūriu ji nėra pranašesnė už kitas skaičiavimo sistemas, ir jos paplitimą

lėmė ne bendri matematiniai dėsniai, o visai kitokios priežastys.

Kai apytiksliai vertiname kokį nors dydį – žmogaus amžių, atstumą ir pan., visada

vartojame ,,apvalius” skaičius ir paprastai sakome: „Iš namo išėjo maždaug 50 metų žmogus;

paėjėjęs gatve apie 200 metrus, jis įėjo parduotuvę, nusipirko dvi dešimtis kiaušinių ir nuėjo

toliau......”. Operuoti apvaliais skaičiais žymiai paprasčiau: lengviau juos įsiminti, patogiau atlikti

veiksmus. Pavyzdžiui, visai nesunku mintinai padauginti 100 iš 200, o du „neapvalius” triženklius

skaičius, tarkim, 147 ir 242, toli gražu ne kiekvienas sudaugins be pieštuko ir popieriaus

Kalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

apvalius ir neapvalius iš esmės yra sąlyginis. Vienas ir tas pats skaičius gali būti apvalus arba

neapvalus, žiūrint kokioje skaičiavimo sistemoje jis užrašytas. Nagrinėkime įprastą dešimtainę

skaičiavimo sistemą. Šioje sistemoje kiekvienas teigiamas sveikasis skaičius yra vienetų, dešimčių,

šimtų ir t. t. suma, t. y. suma skaičiaus 10 įvairių laipsnių su koeficientais, įgyjančias

svekąsiasreikšmes nuo 0 iki 9 imtinai. Pavyzdžiui skaičius 2548 yra 8 vienetų, 4 dešimčių, 5 šimtų

ir 2 tūkstančių suma, t. y.

2548 = 2•103+5•102+4•101+8•100.

Taigi 2548 – sutrumpintas šios išraiškos užrašas. Taip pat sėkmingai bet kurį skaičių galima

užrašyti ne 10, o kokio nors kito sveikojo skaičiaus (išskyrus 1) laipsnių kombinacija, pavyzdžiui,

skaičiaus 7. Šioje sistemoje, vadinamoje „septynetaine skaičiavimo sistema” arba ,,skaičiavimo

sistema pagrindu 7”, įprastu būdu skaičiuotume nuo 0 iki 6, o skaičius 7 būtu aukštesniojo skyriaus

vienetas. Skaičių 7 naujoje sistemoje žymėtume simboliu 10 (antrojo skyriaus vienetas). Kad

nepainiotume šio simbolio su dešimtainiu skaičiumi 10, prirašysime indeksą 7, t. y. Vietoj skaičiaus

7 rašytume (10)7. Kitų skyrių vienetai turėtų būti skaičiai 7², 7³ ir t.t.

Bet kurį skaičių galima sudaryti iš skaičiaus 7 laipsnių, t. y. išreikšti šitaip:

ak•7k+ak-1•7k-1+.....+a1•7+a0;

čia kiekvienas koeficientas a0, a1, ......, ak gali būti bet kuris sveikas skai2ius nuo 0 iki 6. Kaip ir

dešimtainėje sistemoje pagrindo laipsniu galima praleisti ir skaičių užrašyti šitaip:

(akak-1.....a1a0)7

Indeksas 7 rodo, kad vartojamos sistemos pagrindas – skaičius 7.

Išnagrinėkime pavyzdį. Dešimtainį skaičių 2548 galima užrašyti šitaip:

3

Page 4: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

1•74+0•73+3•72+0•7+0,

arba, kaip susitarėme,(103000)7.Taigi (2548)10 =(10300)7.

Atkreipkite dėmesį į tai, kad septynetainėje sistemoje apvalūs bus tie ne tie skaičiai kaip

dešimtainėje sistemoje. Pavyzdžiui, (147)10 = (300)7, (343)10 = (1000)7 (nes 147=3•72

ir343=73);tuo tarpu (100)10 = (202)7, (500)10 = (1313)7.

Todėl septynetainėje sistemoje mintinai padauginti (147)10 ir (343)10 žymiai lengviau negu

(100)10 ir (200)10. Jeigu naudotume septynetain3 sistem1, tai, 49 metų (o ne 50) amžių suvoktume

kaip ,,apvalią datą” ir švęstume jubiliejų. Nustatydami atstum1 i6 akies, sakytume ,,apie 98 metrus”

arba ,,maždaug 196 metrai” (nes (98)10 =(200)7 ir (196)10 = (400)7 – apvalūs skaičiai

septynetainėje sistemoje), daiktus skaičiuotume septynetas, o ne dešimtimis. Tačiau septynetainė

sistema menkai vartojama; ji negali konkuruoti su visur paplitusia dešimtaine sistema.

Šiandien rimtomis dešimtainės sistemos konkurentėmis tampa dvejetainė, aštuntainė ir šešioliktainė

sistemos, nes joms pirmenybę teikia šiuolaikinės skaičiavimo mašinos.

Šiame referate pasakojama apie įvairių sistemų ypatybes ir vartojimą.

1.1 Skaičiavimo sistemos įvairios skaičiavimo sistemos skiriasi skaitmenimis ir jų vartojimo taisyklėmis. Mums įprasta

dešimtaine pozicine skaičiavimo sistema.

Sistema vadinama dešimtaine, nes joje yra dešimt skaitmenų: 0, 1, 2, 3,

4, 5, 6, 7, 8, 9.

Skaičius 10 - sistemos pagrindas. Sistema vadinama pozicine, nes daugiaženklio

skaičiaus kiekvieno skaitmens reikšme priklauso nuo jo padėties (pozicijos) skaičiuje. Pavyzdžiui,

skaičiuje 457 pirmasis skaitmuo žymi keturis šimtus, antrasis - penkias dešimtis, o paskutinysis –

septynis vienetus:

400 + 50 + 7 = 457.

Ši skaičių galima užrašyti sistemos pagrindo laipsniais, padaugintais iš

koeficientu:

457 = 4 · 102 + 5 · 101 + 7 · 100

Matome, kad einant iš dešines i kaire, kiekvienos paskesnes pozicijos reikšme

padidėja tiek kartu, koks yra sistemos pagrindas.

4

Page 5: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

Dešimtaines skaičiavimo sistemos trupmenos ir mišrieji skaičiai interpretuojami

analogiškai. Kiekviena pozicija, einant i dešine, nuo kablelio, atitinka to paties pagrindo laipsni

mažėjančių neigiamu rodikliu. Pavyzdžiui:

436, 576 = 4 · 102 + 3 · 101 + 6 · 100 + 5 · 10−1 + 7 · 10−2 + 8 · 10−3

Analogiškai gali buti užrašyti skaičiai ir kitomis skaičiavimo sistemomis.

Dešimtaine skaičiavimo sistema yra nepatogi kompiuteriui, nes jo atminties įrenginiai

gali atsiminti tik viena iš skaitmenų: 0 arba 1. Todėl kompiuteriuose vartojame ne dešimtaine, o

dvejetaine skaičiavimo sistema.

Dvejetainėje skaičiavimo sistemoje yra tik 2 skaitmenys: 0 ir 1. Užrašas 10 čia atitinka dešimtaini

skaičių 2. Dvejetainiai skaičiai sudaromi tik 0 ir 1 deriniu. Skaičiavimo sistemos pagrindą,

nurodysime prie skaitmenų. Pavyzdžiui:

101101(2) = 1 · 25 + 0 · 24 + 1 · 23 + 1 · 22 + 0 · 21 + 1 · 20 = 45(10)

1.1 pav.: Ryšiai tarp skaičiavimo sistemų

Trupmeniniai dvejetainiai skaičiai interpretuojami analogiškai:

0, 1011(2) = 1 · 2−1 + 0 · 2−2 + 1 · 2−3 + 1 · 2−4 = 11/16(10)

arba 0, 5 + 0, 125 + 0, 0625 = 0, 6875(10).

Dažnai dešimtaini skaičių, užrašyta dvejetaine skaičiavimo sistema, sudaro ilga nuliu

ir vienetu seka, kuria sunku greitai suvokti ir nepatogu vartoti. Tokius skaičius trumpiau galima

užrašyti aštuntaine arba šešioliktaine skaičiavimo sistema.

5

Page 6: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

Analogiškai dešimtainei skaičiavimo sistemai aštuntaine sistema turi 8 skaitmenis: 0, 1, 2, 3, 4,

5, 5, 7, o šešioliktaine - 16: pirmi dešimt (0- 9) imami iš dešimtaines sistemos ir atitinka tuos

skaitmenis, kiti šeši (10,11,12,13,14,15) užrašomi raidėmis: A, B, C, D, E, F.

Kadangi 23 = 8 ir 24 = 16, tai kiekvienas aštuntainis skaitmuo užrašomas

3 dvejetainiais skaitmenimis, o kiekvienas šešioliktainis skaitmuo - 4

dvejetainiais skaitmenimis dvejetaine skaičiavimo sistema.

Be minėtu skaičiavimo sistemų, gali buti vartojamos ir kitos, todėl reikia mokėti

išreikšti vienos skaičiavimo sistemos skaičius kita sistema. Praktikoje kartu dažniausiai

vartojamos trys skaičiavimo sistemos: dešimtaine, aštuntaine ir dvejetaine arba dešimtaine,

šešioliktaine ir dvejetaine. Taigi išreiškiama taip, kaip pavaizduota 1.1

1.2 Sveikųjų dešimtainiu skaičių išreiškimas dvejetaine, aštuntaine arba šešioliktaine sistema

Dešimtainis sveikasis skaičius išreiškiamas nauja skaičiavimo sistema, nuoseklia dalijant ta

skaičių ir gautus dalmenis iš naujos skaičiavimo sistemos pagrindo, užrašyto dešimtaine

skaičiavimo sistema. Gautos liekanos ir paskutinis dalmuo surašyti atvirkštine tvarka, sudarys

naujos sistemos skaičių.Visi veiksmai atliekami dešimtaine sistema.

Išreiškiant skaičius šešioliktaine sistema gautos liekanos 10, 11, 12, 13, 14, 15

keičiamos atitinkamais šešioliktainiais skaitmenimis A, B, C, D, E,F.

Pateikiame pavyzdžiu, kaip sveikieji dešimtainiai skaičiai išreiškiami dvejetaine, aštuntaine ir

šešioliktaine sistema.

6

Page 7: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

1.3 Dešimtainių trupmenų išreiškimas dvejetaine,aštuntaine arba šešioliktaine sistema

Dešimtaine trupmena išreiškiama nauja skaičiavimo sistema, nuosekliai dauginant ja

ir gautas trupmenines dalis iš naujos sistemos pagrindo, užrašyto dešimtaine sistema. Visi

veiksmai atliekami dešimtaine sistema. Gauti skaitmenys vienetu skiltyse sudarys naujos

sistemos skaičių.

Išreikšdami šešioliktaine sistema sveikojoje skaičiaus dalyje gautus skaičius 10, 11,

12, 13, 14, 15, keičiame atitinkamais šešioliktainiais skaitmenimis A, B, C, D, E, F. Pateikiame

pavyzdžiu kaip dešimtaines trupmenos išreiškiamos dvejetaine, aštuntaine ir šešioliktaine

sistema:

0, 71875(10) = 0, 10111(2) 0, 71875(10) = 0, 56(8) 0, 71875(10) = 0,B8(16)

Pateiktame pavyzdyje dešimtaine trupmena tiksliai išreiškėme dvejetaine, aštuntaine ir

šešioliktaine sistema. Tačiau taip būna ne visuomet. Dažnai daugybos procesas yra begalinis ir

rezultatas būna begaline periodine trupmena. Tuomet skaitmenų skaičius po kablelio imamas toks,

koks reikalingas tikslumas. Jeigu dešimtaini skaičių sudaro sveikoji ir trupmenine dalis, tai pagal

pirmąją taisykle išreiškiama sveikoji dalis, o pagal antrąją - trupmenine dalis.

1.4 Dvejetainiu, aštuntainiu ir šešioliktainiu skaičių dešimtaine skaičiavimo sistema

Dvejetainiai, aštuntainiai ar šešioliktainiai skaičiai išreiškiami dešimtaine sistema taip:

susumuojami visi dvejetaines, aštuntainės ar šešioliktaines sistemos skaitmenys, padauginti iš

skaičiavimo sistemos pagrindo, pakelto atitinkamos pozicijos laipsniu. Atlikus aritmetines

operacijas dešimtaine skaičiavimo sistema, gaunamas dešimtainis skaičius.

7

Page 8: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

Pateikiame pavyzdi, kaip dvejetainiai, aštuntainiai ir šešioliktainiai skaičiai išreiškiami

dešimtaine skaičiavimo sistema:

110100101, 10111(2) = 1 · 28 + 1 · 27 + 0 · 26 + 1 · 25 + 0 · 24 + 0 · 23 + 1 · 22 +

+0 · 21 + 1 · 20 + 1 · 2−1 + 0 · 2−2 + 1 · 2−3 + 1 · 2−4 + 1 · 2−5 =

= 256 + 128 + 0 + 32 + 0 + 0 + 4 + 1+1/2+ 0 +1/8+ 1/16 + 1/32 = 421, 71875(10)

Pateiktas pavyzdys tuo pačiu parodo, kad veiksmai atlikti teisingai – gavome tuos pačius

dešimtainius skaičius, kuriuos ankstesniuose pavyzdžiuose išreiškėme dvejetaine, aštuntaine ir

šešioliktaine sistema.

1.5 Aštuntainiu ir šešioliktainiu skaičių išreiškimas skaičiavimo sistemaKiekvienas aštuntainis (šešioliktainis) skaitmuo dvejetaine sistema užrašomas trimis (keturiais)

skaitmenimis. 1.2 lentelėje pateikti pirmųjų šešiolikos skaičių dešimtainiai, aštuntainiai ir

dvejetainiai ekvivalentai.

Pateikiame pavyzdžiu, kaip aštuntainiai ir šešioliktainiai skaičiai išreiškiami

dvejetaine skaičiavimo sistema:

645, 56(8) = 110100101, 101110(2)

1A5,B8(16) = 000110100101, 10111000(2)

Kaip ir dešimtainėje skaičiavimo sistemoje, dvejetaine sistemoje užrašyti nereikšminiai nuliai neturi

įtakos.

8

Page 9: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

1.2 Lentele: Skaičių ekvivalentai

1.6 Dvejetainiu skaičių išreiškimas aštuntaine (šešioliktaine) skaičiavimo sistema

Norint dvejetaini skaičių išreikšti aštuntaine (šešioliktaine) skaičiavimo sistema,

reikia ji suskaidyti grupėmis (i kaire ir i dešine nuo kablelio po tris (keturis) dvejetainius

skaitmenis ir kiekviena grupe pakeisti vienu aštuntainiu (šešioliktainiu) skaitmeniu. Jei

pirmoji triada (tetrada) iš kaires sveikojoje dalyje ir paskutinioji trupmenineje dalyje

nepilnos, jos papildomos nuliais. Pavyzdžiui:

110100101, 101110(2) = 110/100/101/, 101/110(2) = 654, 56(8)

000110100101, 10111000(2) = 0001/1010/0101/, 1011/1000(2) = 1A5,B8(16)

9

Page 10: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

2.1 Skaičių ir informacijos vaizdavimas kompiuteryje

2.2 Informacijos vaizdavimas Visų tipų duomenys kompiuterio atmintyje vaizduojami bitų rinkiniais. Baziniai duomenų

tipai yra:

- skaičiai:

- sveikieji skaičiai;

- realieji (trupmeniniai) skaičiai;

- simboliniai (tekstiniai) duomenys;

- grafiniai duomenys;

- garsas;

- video.

Sveikieji skaičiai. Sveikieji skaičiai yra vaizduojami taip vadinamu fiksuoto kablelio formatu.

Jame dešimtainio kablelio pozicija yra fiksuota. Sveikiesiems skaičiams dešimtainis kablelis yra po

paskutinio skaitmens.

Priklausomai nuo sveikojo skaičiaus ilgio jam vaizduoti skiriama 1, 2 arba 4 baitai:

- trumpas sveikasis skaičius – 1 baitas;

- standartinis sveikasis skaičius – 2 baitai;

- ilgas sveikasis skaičius – 4 baitai.

Norint sveikąjį neneigiamą skaičių pavaizduoti, pvz., dviejuose baituose, reikia jį užrašyti

dvejetainėje sistemoje ir papildyti nuliais iš kairės, kad būtų 16 dvejetainių skaitmenų,

pvz.: 5 - 00000000 00000101

Visų galimų standartinių sveikųjų neneigiamų skaičių be ženklo intervalas yra:

0 (00000000 00000000) – 65 535 (11111111 11111111)

Taigi:

viename baite galima pavaizduoti skaičius be ženklo nuo 0 iki 255 (28 – 1),

dviejuose nuo 0 iki 65 535 (216 – 1),

ir keturiuose baituose nuo 0 iki 4 294 967 295 (232 – 1).

Sveikieji neigiami skaičiai. Vaizduojant sveikus skaičius su ženklu, galima būtų kairiausią

bitą skirti ženklo vaizdavimui: pvz., 0 reikštų pliusą, o 1 - minusą. Tada dviejuose baituose galima

būtų pavaizduoti skaičius nuo +0 iki +32 767 ir nuo -0 iki - 32 767, tačiau tokiu atveju 0 būtų

vaizduojamas dviem skirtingais būdais (plius nulis ir minus nulis) , o tam reikėtų specialios

10

Page 11: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

aritmetikos, dirbančios su dviem nuliais. Todėl neneigiamų skaičių vaizdavimui naudojamas

tiesioginis kodas (vaizduojamas pats skaičius x, t.y. vaizduojamas taip pat kaip ir skaičius be

ženklo, tik vienas bitas rezervuojamas ženklui). O neigiamų skaičių vaizdavimui naudojamas

papildomas kodas (vietoje skaičiaus -x vaizduojamas skaičius 2N - x, kur N – skiriamų skaičiui

pavaizduoti bitų kiekis).

Papildomas kodas. Papildomas kodas gaunamas tokiu būdu:

Pavaizduojamas atitinkamas teigiamas skaičius.

Visi bitai invertuojami, t.y. 0 keičiamas 1 ir atvirkščiai.

Pridedamas 1.

Panagrinėkime, pavyzdžiui, kaip bus pavaizduotas skaičius -5:

1. 5 - 00000000 00000101

2. Bitai invertuojami 11111111 11111010

3. Pridedamas 1 11111111 11111011

Naudojant tokį vaizdavimo formatą visų neneigiamų skaičių kairiausias bitas yra 0, o neigiamų - 1.

Dviejuose baituose galima pavaizduoti sveikus skaičius su ženklu nuo -32 768 iki 32 767:

0 00000000 00000000

1 00000000 00000001

… …

32 766 01111111 11111110

32 767 01111111 11111111

-32 768 10000000 00000000

-32 767 10000000 00000001

… …

-2 11111111 11111110

-1 11111111 11111111

Analogiškai, viename baite gali būti pavaizduoti sveikieji skaičiai su ženklu nuo -128 iki 127,

o keturiuose baituose – nuo -2 147 483 648 iki 2 147 483 647.

Sveikieji skaičiai kompiuterio atmintyje vaizduojami tiksliai, bet jų kiekis nėra didelis. Be to,

dirbant su sveikaisiais skaičiais, pačiam programuotojui reikia rūpintis, kad operacijos rezultatas

patektų į

sveikųjų skaičių apibrėžimo sritį. Priešingu atveju galima gauti iš pirmo žvilgsnio "keistus"

rezultatus. Pavyzdžiui, matematikoje dviejų teigiamų skaičių suma visada yra teigiamas skaičius,

11

Page 12: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

tačiau kompiuteriui 32 767 + 1 = -32 768. Tai galima suprasti tik žinant, kaip sveikieji teigiami ir

neigiami skaičiai vaizduojami kompiuterio atmintyje:

Fizinis duomenų vaizdavimas kompiuterio atmintyje gali skirtis nuo aptarto dėl skirtingo baitų

išdėstymo. Personaliniuose kompiuteriuose jaunesnieji baitai talpinami atmintyje mažesniais

adresais, todėl fiziškai atmintyje sveikasis skaičius 5 dviejuose baituose bus pavaizduotas ne taip:

5 00000000 00000101,

o šitaip: 5 00000101 00000000.

Realiųjų skaičių vaizdavimas. Kiekvieno tipo duomenims vaizduoti skiriamas baigtinis bitų

skaičius, o kiekvienas bitas gali įgyti tik vieną iš dviejų reikšmių, todėl galima pavaizduoti tik

baigtinę reikšmių aibę, t.y. gali būti vaizduojami tik diskretiniai duomenys. Tai reiškia, kad

kompiuteryje negalima pavaizduoti, pavyzdžiui, visų atkarpos taškų. Dėl šių priežasčių kyla

problemos, vaizduojant kompiuterio atmintyje realius skaičius. Tarp bet kurių dviejų realiųjų

skaičių yra be galo daug tarpinių realiųjų skaičių ir jie visi negali būti pavaizduoti kompiuterio

atmintyje. Tačiau reikia turėti galimybę atlikti skaičiavimus, kuriuose operuojama su plataus

spektro realiaisiais skaičiais: tiek su labai mažais, pavyzdžiui, elektrono masė; tiek su labai

dideliais, pavyzdžiui, atstumas iki žvaigždės. Šių problemų sprendimui pravers mokslinis formatas (

angl. scientific notation): kiekvieną skaičių galima užrašyti tokia forma

x = <ženklas> <mantisė> * P<eilė>

kur ženklas yra "+" arba "-", mantisė (t.y. skaičiaus su slankiuoju kableliu užrašo dalis po kablelio)

yra neneigiama, o P yra skaičiavimo sistemos pagrindas. Pastebėkime, kad toks užrašas nėra

vienareikšmis - keičiant taško poziciją mantisėje ir tuo pačiu metu eilės reikšmę, pats skaičius

nesikeičia, pavyzdžiui:

-1.75 * 100 = -17.5 * 10-1 = -0.175 * 101

Dėl vienareikšmiško apibrėžtumo dažniausiai pridedami papildomi reikalavimai mantisei, kad ji

būtų normalizuota. Normalizuotos mantisės sąvoka priklauso nuo kompiuterio architektūros. Kai

kuriuose kompiuteriuose nenulinio skaičiaus mantisė yra mažesnis už 1 skaičius, kurio pirmas

skaitmuo yra nenulinis, t.y.

x = <ženklas> 0.<mantisė> * P<eilė>

Tokiame užraše eilė gali būti ir teigiama, ir nulinė, ir neigiama. Kompiuterio atmintyje dažniausiai

vaizduojama ne pati eilė, bet charakteristika - neneigiamas skaičius, gaunamas prie eilės pridėjus

konstantą. Kadangi dešimtainio (dvejetainio) taško pozicija nėra fiksuota, todėl šis vaizdavimo

formatas vadinamas slankaus kablelio ( angl. floatingpoint) skaičių formatu.

12

Page 13: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

Vaizduojant realų skaičių keturiuose baituose, ženklui skiriamas 1 bitas (0 reiškia "+", 1 -

"–"), mantisei - 23 bitai, o charakteristikai - 8 bitai.

Taigi, realus skaičius -1.75 keturiuose baituose būtų pavaizduotas taip:

Beveik visada realūs skaičiai negali būti pavaizduoti tiksliai, tam kad pavaizduoti

kompiuterio atmintyje, jie apvalinami, t.y. gaunama apvalinimo paklaida ( angl. roundoff error).

Nors slankaus kablelio formato skaičių kitimo diapazonas labai platus (maždaug nuo 10-45 iki

1038), bet vaizduojant keturiuose baituose (kai mantisei skiriami 23 bitai), tiksliai pavaizduojami

tik 6-7 dešimtainiai skaitmenys. Pastebėkime, kad slankaus kablelio skaičiai išsidėstę labai

netolygiai: arti 0 labai tankiai, o kuo toliau nuo 0 tuo rečiau - todėl absoliuti vaizdavimo

(apvalinimo) paklaida priklauso nuo skaičiaus (jo modulio) dydžio.

Toliau nagrinėsime realių skaičių vaizdavimą konkrečiai personaliniuose kompiuteriuose.

Personaliniuose kompiuteriuose eilė yra dvejetainė (P=2) ir pirmasis mantisės skaitmuo visada turi

būti 1, todėl naudojama kiek kitokia skaičiaus forma

x = <ženklas> 1.<mantisė> * 2<charakteristika>,

kur charakteristika yra sveikas neneigiamas skaičius, gaunamas prie eilės pridėjus konstantą. Šios

konstantos dydis priklauso nuo dydžio atminties, skiriamos skaičiui (tame tarpe ir jo

charakteristikai) pavaizduoti, pavyzdžiui, kai realiam skaičiui skiriami 4 baitai, charakteristika yra

eilė + 127.

Panagrinėkime pavyzdį. Tarkime, kad personalinio kompiuterio atmintyje norime pavaizduoti

skaičių -1.75. Pirmiausia jį reikia užrašyti dvejetainėje skaičiavimo sistemoje

-1.75 = -(1 + 1/2 + 1/4) = -1.112

Tada užrašome dvejetainiu moksliniu formatu taip, kad sveikoji dalis būtų lygi 1

-1.112 = -1.11 * 20

Gauname, kad ženklas yra “–", mantisė yra 11, o charakteristika yra 127 (= 0 + 127). Taigi, -1,75

PK atmintinėje realiai bus:

13

Page 14: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

Tekstiniai (simboliniai) duomenys. Dabar kompiuteriai daug dirba ne tik su skaičiais, bet ir su

tekstais (simboliais). Norint simbolius vaizduoti kompiuterio atmintyje, reikia sudaryti simbolių

kodų lentelę, kuri vienareikšmiškai susietų visus reikalingus simbolius su bitų rinkiniais. Kyla

klausimas, kiek bitų reikia simbolių vaizdavimui. Anglų kalboje yra 26 didžiosios ir 26 mažosios

raidės, 10 skaitmenų ir apie 35 specialius simbolius, naudojamus skyrybai ir pan. - iš viso apie 100

simbolių. Be to, dar reikia specialių "valdančių simbolių", kurie turi specialią prasmę tekstų

redaktoriams (pavyzdžiui, nutrinti simbolį) arba kompiuterio įrenginiams (pavyzdžiui, cyptelti).

Šešių bitų nepakanka (26 = 64), taigi minimaliam kodui reikia 7 bitų (27 = 128). Dauguma kodų

naudoja 8 bitus, įtraukdami daugiau specialių, grafinių simbolių arba kontrolei, todėl tradiciškai

kompiuteriai skiria 8 bitus, t.y. vieną baitą, simbolių vaizdavimui. Kadangi kompiuterijos vystymosi

lyderė buvo JAV, tarptautiniu mastu įsitvirtino ten sukurti standartai ir, būtent, ANSI (Amerikos

nacionalinis standartų institutas) standartas ASCII ( Amerikos kodų standartas informacijos

pasikeitimui). Jį sudaro dvi lentelės: 7 bitų ilgio kodų – bazinė ir 8 bitų (1 baito) išplėstoji. Bazinėje

lentelėje kodų reikšmės yra nuo 0 iki 127, išplėstojoje – nuo 128 iki 255.

Apžvelkime ASCII kodų lentelę žr. pav. 1 Pirmi 32 bazinės lentelės kodai (0-31) skirti

kompiuterių įrangos gamintojams koduoti valdymo signalus. Kodai, kurių reikšmės nuo 32 iki 127,

panaudoti užkoduoti anglų kalbos raides kitus specialius rašybos simbolius bei skaitmenis. Trijų

pagrindinių grupių - skaitmenys, didžiosios raidės ir mažosios raidės - simboliai grupėse eina iš

eilės be praleidimų. Pvz.:

A - 6510 – 010000012 - 4116; g – 10310 - 011001112 - 6716;

ženklas > - 6210 – 001111102 - 3E16 ;

skaitmuo 1 - 4910 - 001100012 - 3116 ir t. t.

Kiti specialūs simboliai - skirtukai, operacijų ženklai, skliaustai ir pan. išbarstyti likusiose vietose.

Pavyzdžiui, simbolio " " (tarpas) kodas 32, "[" (atidarantis laužtinis skliaustelis) - 91, "{"

(atidarantis riestinis skliaustelis) - 123.

14

Page 15: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

1.

2.

Nacionalinių rašmenų kodavimas. Nacionalinių rašmenų kodavimui naudojama antroji arba

išplėstoji ASCII kodų lentelės dalis, kurios kodų reikšmės yra nuo 128 iki 255 (dvejetainiame

pavidale vyriausiojo bito reikšmė yra 1). Standartiniame variante joje yra įvairūs psiaudo-grafikos

ženklai. Kadangi šių rašmenų įvairovė labai didelė, todėl ir kodavimo lentelių atsirado labai daug.

Pvz. Rusijoje išplito jų standartas vadinamas KOI-8, Lietuvoje lietuviškoms raidėms koduoti

atsirado taip pat keli variantai. Visa tai kėlė nemažai problemų ir programų kūrėjams ir jų

vartotojams. Skirtingos kodų lentelės naudojamos ir skirtingose operacijų sistemose (DOS,

Windows). 2000-ųjų pradžioje buvo priimti standartai, įvedę šioje srityje tam tikrą tvarką. Rašto

ženklų kodavimą 8 bitais apibrėžė tarptautinių standartų serija ISO/IEC 8859. Ją sudaro atskiros

15

Page 16: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

dalys (standartai), skirtos tam tikrų kalbų grupių rašto ženklams koduoti. Standartų serija yra atvira,

t. y. ji gali būti papildyta naujomis dalimis. Dabar yra 15 dalių. Serijos 13-oji dalis ISO/IEC 8859-

13 apibrėžia ženklų rinkinį, turintį lietuviškus rašto ženklus ir vadinamąją 7-ąją lotynų abėcėlę. Šis

standartas pripažintas ir Lietuvos standartu, jam suteiktas žymuo LST ISO/IEC 8859-13- 2000. Jo

kodų lentelė kompiuteriuose žymima trumpiau –ISO-8859-13. Šis standartas kaip ir kiti šios serijos

standartai nepriklauso nuo operacijų sistemos ir naudojami duomenų mainams tarp įvairių OS,

interneto, elektroninio pašto srityje. OS “Windows” turi savą kodų lentelių sistemą. Lentelės

žymimos skaičiais 1250, 1251 ir t.t. Baltijos šalims skirta “Windows 1257” lentelė, atitinkanti ISO-

8859-13. Plačiai prieš “Windows” operacijų sistemą naudota operacijų sistema DOS, turėjo

lietuviškų rašmenų lentelę, įvardintą skaičiais 775, kuri turi visus standarto ISO-8859-13 ženklus.

Tekstai, parašyti DOS terpėje, naudojant 775 kodų lentelę, gali būti perskaityti su lietuviškomis

raidėmis ir dabartinėse Windows terpėse. Lietuvių kalba turi išskirtiną savybę – kirčiuotas raides,

todėl yra sudarytas ir kirčiuotų raidžių standartas LSTISO/IEC 8859-13, dalį užsienio kalbų raidžių

ir specialiųjų ženklų pakeitus lietuviškomis kirčiuotomis raidėmis.

1.

Išplėstoji ASCII kodų lentelės dalis su lietuviškomis

raidėmis ISO – 8859 – 13 standartas

Universalioji teksto kodavimo sistema UNICODE. Analizuojant organizacinius sunkumus,

susijusius su vieningos įvairių kalbų simbolių kodavimo sistemos sukūrimu, galime padaryti

išvadas, kad svarbiausia to problema – ribotas kodų reikšmių kiekis, lygus 28 = 256. Pailginus šį

kodą, galimų reikšmių kiekis žymiai išaugtų. Tokia sistema, kurioje 1-am simboliui užkoduoti

skirta 16 bitų (2 baitai) vadinama universaliąja kodavimo sistema –UNICODE. 16 skilčių kodas

leidžia užkoduoti 65536 skirtingus simbolius, o to pakanka daugumos planetos kalbų simboliams

užkoduoti. Pereinant į šią teksto kodavimo sistemą visi tekstiniai failai padvigubėja, todėl tik dabar,

16

Page 17: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

išaugus kompiuterinių sistemų resursams, vis plačiau pereinama prie šios kodavimo sistemos, kuri

apima ir senąją 8 bitų ASCII kodų sistemą ir dar 256 kartus padidina galimų užkoduoti simbolių

skaičių.

Grafinių duomenų kodavimas. Terpė, kurioje formuojamas grafinis vaizdas, ar tai būtų

displėjaus ekranas, ar popieriaus lapas spausdintuve, sudalijamas į tam tikrą skaičių taškų

horizontalia ir vertikalia kryptimis. Šie taškai dar vadinami pikseliais (pixel). Šis taškų skaičiai

horizontalia ir vertikalia kryptimis vadinami skiriamąja geba. Grafiniai elementai sudaromi iš

įvairiaspalvių taškų. Galimas dvejopas jų aprašymas – vektorinis ir rastrinis (matricinis, pilno

užpildymo). Vektoriniu būdu vaizduojamą piešinį sudaro atkarpų (vektorių) rinkinys. Šiuo atveju

piešinio kompiuterinis kodas bus informacija apie jį sudarančius vektorius, t.y. vektorių pradžios ir

pabaigos taškų koordinatės, atspalvis. Tarpinių vektoriaus taškų koordinatės bus suskaičiuojamos.

Rastriniu būdu vaizduojamo piešinio kodą sudaro informacija apie visų taškų spalvingumą.

Vektorinis vaizdavimo būdas:

Ekranas, skiriamoji geba 800 x 600, 1024 x 768 ir t.t.

Atspalvių įvairovė priklausys nuo paskirto kodo ilgio. Pvz., jei tam skirsime 1 baitą, turėsime

256 pilkumo atspalvius dvispalviame piešinyje.

Spalvų kodavimas. Spalvoto vaizdo kodavimui naudojamas spalvos dekompozicijos į

pagrindines sudedamąsias principas. Pagrindinėmis sudedamosiomis spalvomis naudojamos 3

spalvos – raudona (R-red), žalia (G-green) ir mėlyna(B-blue). Praktiškai laikoma (nors teoriškai ne

visai taip), kad bet kokią spalvą galime gauti iš šių trijų spalvų mišinio. Tokia spalvų kodavimo

sistema vadinama RGB. Jeigu kiekvienos bazinės spalvos ryškumo lygiui užkoduoti naudosime 256

reikšmes (8 bitų kodą), tai vieno taško spalvai apibūdinti reikės 24 skilčių (3 baitų) kodo. Toks

kodavimas leidžia vienareikšmiškai nurodyti vieną iš 16,5 milijono skirtingų spalvų. Toks jų kiekis

17

Page 18: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

yra artimas žmogaus akies jautrumui. Šis spalvų kodavimas kompiuterinėse sistemose vadinamas

pilnaspalviniu ( True Color). Šiuolaikinėse sistemose jo ilgis gali siekti ir 32 skiltis.16 skilčių

spalvų kodas vadinamas High Color, jis turi 65536 spalvas. Poligrafijoje naudojama kita spalvų

kodavimo sistema, kurioje naudojamos taip vadinamos papildomos spalvos, t. y. spalvos,

papildančios pagrindinę spalvą iki baltos spalvos. Tokios papildomos spalvos yra žaliai mėlyna

( Cyan-C), purpurinė ( Magenda-M) ir geltona ( Yellow-Y). Praktiškai prie jų dar pridedama

ketvirta spalva – juoda ( Black-K), todėl ši spalvų kodavimo sistema vadinama CMYK ir

koduojama 32 skilčių (4 baitų) kodu.

Garso informacijos kodavimas. Garso informacija į kompiuterines sistemas atėjo vėliau nei

skaičiai, tekstas ar grafika, todėl dar ir iki šiol dauguma garso kodavimo dvejetainiais kodais

metodų nėra visuotinai standartizuoti, naudojami taip vadinami korporaciniai standartai, t.y. sukurti

ir naudojami atskirų stambių kompanijų, kuriančių garso informaciją apdorojančią aparatinę ir

programinę įrangą. Garso sintezavimui ir kodavimui kompiuteriuose dažniausiai naudojami trys

metodai:

dažnių moduliacijos;

garso sintezės iš bangų lentelės;

garso fizinio modeliavimo.

FM ( Frequency Modulation) – žemesnio dažnio signalo moduliacijos aukštesnio dažnio

signalu metodas remiasi teiginiu, kad teoriškai bet koks sudėtinis garsas gali būti išskleistas į

paprastų skirtingo dažnio harmoninių signalų seką, kurių kiekvienas išreiškia taisyklingą sinusoidę,

t. y. gali būti skaitiškai aprašytas (užkoduotas).

Gamtoje garso signalai išreiškia nepertraukiamą spektrą, jie yra analoginiai. Koduojant jie yra

diskretizuojami.

Dažnių moduliacijos metodas (FM). Tai atlieka specialūs įrenginiai, vadinami analoginiais –

skaitiniais keitikliais. Pagrindiniai skaitiniai garso parametrai yra jo tonas (jį aprašančios sinusoidės

dažnis), matuojamas hercais bei garso trukmė, matuojama milisekundėmis. Tai reiškia, kad šiuo

metodu bet kokį garsą galima išreikšti dviem sveikaisiais skaičiais. Sintezuojant FM metodu,

keičiamo dažnio ir amplitudės harmoniniai virpesiai moduliuojami kitais aukštesniais virpesiais ir

moduliuoti virpesiai sumaišomi. Taip gaunami sudėtingi virpesiai, imituojantys tam tikrą

instrumentą. Gautojo signalo intensyvumas keičiamas taip, kad atitiktų sintezuojamam instrumentui

(klavišiniui, pučiamajam) būdingą signalo intensyvumo kitimą. Taip sintezuoti garsai skiriasi nuo

natūralių instrumentų, tačiau jų

18

Page 19: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

kodas pakankamai kompaktiškas ir buvo naudojamas pirmosiose kompiuterinėse garso apdorojimo

sistemose, gerai tinka žaidimams įgarsinti.

Garso sintezės iš bangų lentelės metodas. Artimesni natūraliems yra garsai, sintezuojami iš

kompiuterio atmintyje saugomų skaitmenine forma įrašytų trumpų natūralių garso fragmentų. Toks

metodas vadinamas garso sintezės iš bangų lentelės metodu ( Wave Table Synthesis). Žargoniškai

saugomi garsų fragmentai vadinami semplais ( Samples), o pats metodas semplingu ( Sampling).

Šiuo metodu koduotas failas saugomas .wav plėtinį turinčiame faile, kurį sudaro informacija,

nurodanti kokius ir kaip apdoroti natūralaus garso fragmentus, t. y. semplus. Nurodomas

instrumento tipas, modelio Nr., tono aukštis, garso trukmė ir intensyvumas, jų kitimo dinamika, kai

kurie aplinkos, kurioje atsiranda garsas, parametrai, kiti garsą charakterizuojantys duomenys.

Panaudodamas šiuos duomenis bei turimus garso semplus, garso procesorius sukuria jo atgaminimo

kodą, kuris perduodamas į skaitmeninį – analoginį keitiklį ir iš jo į akustinę sistemą.

Garso fizinio modeliavimo metodas. Šiuo metodu atliekamas virpesių atsiradimo ir kitimo

procesų tikrame instrumente modeliavimas ( Physical Modelling). Garsų sintezatoriams, kurie

modeliuoja virpesių atsiradimo ir kitimo procesus tikrame instrumente, nereikia talpios atmintinės,

bet reikia sudėtingo ir labai spartaus garso procesoriaus, kuris suspėtų modeliuoti instrumento

kuriamus virpesius. Šie sintezatoriai pranašesni dar ir tuo, kad grojant MIDI ( Musical Instruments

Digital Interface) instrumentu galima keisti daug jo parametrų. Garso įrašymo ir atkūrimo kokybė

labai priklauso nuo to, kaip tiksliai analoginis signalas yra paverčiamas skaitmeniniu ir atvirkščiai.

Analoginis signalas skaičiais bus aprašomas tuo geriau, kuo dažniau (diskretizuojant) ir tiksliau

(kvantuojant) bus matuojamos jo momentinės reikšmės (Sampling). Pvz., CD kokybei reikia 44,1

kHz ir 16 bitų, tada 1 min. įrašo užims 10,5 MB, o telefoninei kokybei pakaks ir 5,5 kHz ir 8 bitų,

tada 1 min. užims tik 0,65 MB.

Kompiuterio apdorojamus duomenis galima suskirstyti i 3 grupes:

• loginius duomenis;

• fiksuoto kablelio skaičius;

• slankaus kablelio skaičius.

Visa informacija kompiuteris saugo dvejetaine skaičiavimo sistema, t.y. 1 ir 0 deriniais. Mažiausias

informacijos vienetas yra bitas. Jame galima saugoti tik viena dvejetaini skaitmeni: 0 arba 1.

Aštuoniu bitu grupe sudaro baitą. Bitai jame numeruojami iš dešines i kaire nuo 0 iki 7 (202 pav

19

Page 20: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

2.

Bitu numeracija baite

Viename baite galima saugoti 256 skirtingus 1 ir 0 derinius. Jei mažai vieno -

informacija galima saugoti keliuose baituose. Dviejų baitu grupe sudaro žodi, dviejų žodžiu

grupe sudaro dviguba žodi. Keliu baitu grupe dažniausiai vadinama lauku.

Nepaisant to, kad visi duomenys kompiuteryje saugomi dvejetainiais skaitmenimis,

kiekviena duomenų grupe turi sava vaizdavimo formatą.

2.3 Loginiu duomenų vaizdavimas

Loginiai duomenys gali buti laikomi baituose, žodžiuose arba laukuose. Šiems

duomenims vaizduoti vartojami visi baito, žodžio arba lauko bitai. Loginiais kodais

vaizduojami:

• simboliniai duomenys;

• skaičiai be ženklo;

• bitu duomenys.

Simboliniai duomenys yra visi klaviatūros simboliai :

• lotyniška abėcėlė (A - Z);

• skaitmenys (0 - 9);

• specialus ženklai bei valdymo klavišai.

Kiekvienas simbolis vaizduojamas tam tikru 1 ir 0 deriniu viename baite. Tai ASCII

kodas (angl. American Standart Code for Information Intertarchange - Amerikos standartinis

kodas informacijos mainams). Pagrindiniu simboliu ASCII kodai pateikti 2.1 lentelėje.

Pavyzdžiui, simboliai “A“ ir “B“ atrodytu taip:

20

Page 21: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

Skaičiai be ženklo baite ar žodyje vaizduojami dvejetaine skaičiavimo sistema, todėl

baite gali tilpti skaičiai nuo 0 iki 255 (00-FF), o žodyje – nuo 0 iki 65535 (0000 – FFFF).

Pavyzdžiui skaičius 19 baite ir žodyje atrodytu taip:

Bitu duomenys gali buti pavaizduoti atskiruose baito ar žodžio bituose yra vartojami loginei

informacijai užkoduoti.

2.4 Fiksuoto kablelio skaičių vaizdavimas

Fiksuoto kablelio skaičiai vaizduojami baituose arba žodžiuose. Ši skaičių vaizdavimo forma

taikoma tik sveikiesiems skaičiams, nes kablelis visuomet fiksuojamas po nulinio bito.

21

Page 22: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

2.1 lentele: ASCII kodų lentelė

2.2 pav.: Ženklo skiltis baite ir žodyje

Teigiami skaičiai vaizduojami tiesioginiu kodu: ženklo bite yra 0, o kituose - skaičiaus

reikšme dvejetainėje skaičiavimo sistemoje.

Neigiami skaičiai vaizduojami papildomu kodu su vienetu ženklo bite. Skaičiaus

papildomas kodas sudaromas invertuojant skaičiaus modulio tiesioginio kodo skaitmenis (t.y, 1

22

Page 23: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

keičiant 0, 0 keičiant 1) ir pridedant prie gauto skaičiaus 1. Taip pat skaičiaus papildoma kodą

galima gauti vartojant šešioliktaine skaičiavimo sistema: ši skaičių reikia atimti iš skaičiaus

FFFF(16) (kai skaičius saugojamas žodyje) ir prie gauto skaičiaus jauniausiojo skaitmens pridėti 1.

Pavaizduokime skaičių −21 baite:

1. Skaičiaus moduli verčiame i dvejetaine skaičiavimo sistema: 21(10) =1B(16) = 00011011(2).

1. Invertuojame kiekviena bitą: 11100100(2).

3. Prie gauto skaičiaus pridedame vienetą:

11100100+1=11100101

Norint rasti neigiamo skaičiaus moduli reikia pakartoti ankstesnius veiksmus: invertuoti bitus ir

pridėti vienetą

11100101 - neigiamas skaičius

00011010 - inversija

+ 1

00011011 - teigiamas skaičius

Taigi skaičius 11100101(2), įrašytas baite, vaizduoja −21(10). Nulio tiesioginis ir papildomas kodai

sutampa ir yra lygus 0. Lentelėje 2.2 pateikiame fiksuoto kablelio skaičių pavyzdžiai. Kaip gauti

papildoma kodą

23

Page 24: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

3.

lentele: Fiksuoto taško skaičių pavyzdžiai

šešioliktaine skaičiavimo sistema, parodysime vėliau, nagrinėdami aritmetinius veiksmus įvairiomis

skaičiavimo sistemomis.

Kaip matome iš lentelės 3 baite galima saugoti skaičius iš diapazono,−27 s 27 − 1, tai

atitinka −128 s 127. Analogiškai žodyje galima saugoti skaičius iš diapazono −215 s 215 −1, tai

atitinka −32768 s

32767.

2.5 Slankaus kablelio skaičių vaizdavimasSlankaus kablelio skaičių s bet kuria skaičiavimo sistema galima užrašyti taip:

s = n · ap

čia

n - taisyklingoji trupmena, vadinama skaičiaus mantise;

a - skaičiavimo sistemos pagrindas;

p - sveikasis skaičius, vadinamas eile.

24

Page 25: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

Kiek vietos skiriama mantisei ir eilei priklauso nuo konkretaus aritmetinio loginio įrenginio (angl.

Atrimetic logic unit - ALU), todėl šito čia detaliau nenagrinėsime.

2.6 Aritmetines operacijos įvairiomis skaičiavimo sistemomis

Kadangi kompiuteris informacija saugo tik dvejetaine skaičiavimo sistema, tai mums įprastą

dešimtaine sistema galima vartoti įvedant pradinius duomenis bei spausdinant apskaičiuotus

rezultatus. Kompiuteris ne tik saugo informacija dvejetaine forma, bet ir veiksmai atliekami šioje

sistemoje. Šiame skyrelyje parodysite, kaip galima atlikti aritmetinius veiksmus kitomis

skaičiavimo sistemomis.

Jeigu, sudedant du skaitmenis, gautas skaičius w yra lygus ar didesnis už vartojamos skaičiavimo

sistemos pagrindą, tai i atitinkama pozicija rašomas skaitmuo d=w-a, o prie vyresnes pozicijos

pridedamas perkėlimo vienetas. Kai w < a, tai jis pakeičiamas vartojamos skaičiavimo sistemos

skaitmeniu. Ši taisykle taikoma ne tik dešimtainei, bet ir kitoms skaičiavimo sistemoms. Pateikiame

sudėties pavyzdžius įvairiomis skaičiavimo sistemomis:

Atimdami viena skaitmenį iš kito, elgiamės taip pat, kaip vartodami dešimtaine skaičiavimo

sistema, kai atėminio skaitmuo mažesnis arba lygus turinio skaitmeniui. Kai atėminio skaitmuo yra

didesnis už turinio atitinkama skaitmenį, iš vyresnes pozicijos skolinamas 1 ir atitinkamas turinio

skaitmuo padidinamas skaičiavimo sistemos pagrindu, galiausiai iš gauto skaičiaus atimamas

atėminio skaitmuo. Ši taisykle visoms skaičiavimo sistemoms. Pateikiame atimties pavyzdžiu

įvairiomis skaičiavimo sistemomis:

Atimties ir sudėties veiksmais taip pat apskaičiuojami vykdomieji ar santykiniai

adresai.

Atimties operacija galima efektyviai panaudoti skaičiaus papildomam kodui skaičiuoti

t.y. versti skaičiaus iš teigiamu i neigiamus, bei atvirkščiai. Prisiminkime, kad aštuonetaine arba

25

Page 26: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

šešioliktaine skaičiavimo sistema kompaktiškai atvaizduoja dvejetaine skaičiavimo sistema pateikta

informacija. Aštuonetaine skaičiavimo sistema - tris, šešioliktaine keturis kartus trumpiau

pavaizduoja žodžiu ar baitu turini. Šiomis skaičiavimo sistemomis taip pat galima paprasčiau gauti

ir atvaizduoti skaičiaus papildoma kodą. Tereikia norima skaičių atimti iš didžiausio galimo

skaičiaus (šešioliktainėje skaičiavimo sistemoje: FF(16) arba FFFF(16), priklausomai nuo to kaip

vaizduojamas skaičius). Gautas skirtumas padidinamas vienetu yra skaičiaus papildomas kodas.

Sakykime norime gauti skaičių −26(8) ir −16(16) papildoma kodą. Papildomas kodas įrašytas baite

atrodytu taip:

377(8) − 26(8) = 351(8); 351(8) + 1 = 352(8)

FF(16) − 16(16) = E9(16);E9(16) + 1 = EA(16)

Tie patys skaičiai įrašyti žodyje atrodytu taip:

177777(8) − 26(8) = 177751(8); 177751(8) + 1 = 177752(8)

FFFF(16) − 16(16) = FFE9(16); FFE9(16) + 1 = FFEA(16)

2.7 Informacijos apdorojimo principai kompiuteryje

Svarbiausia kompiuterio dalis - procesorius - gali atlikti aritmetines, logines,

palyginimo bei skaičiavimo proceso valdymo operacijas. Norint sudaryti skaičiavimo algoritmą,

pirmiausia reikia žinoti, kokias elementarias operacijas gali atlikti procesorius, ir skaičiavimo

procesą suskaidyti i tas operacijas, nurodant jų eiles tvarka. Atliekant tokias operacijas programoje

reikia nurodyti atitinkamas komandas ir apdorojamus duomenis. Paprastai operacijų duomenys

vadinami operandais. Todėl, nurodant komanda, reikia nurodyti penkis elementus: komandos kodą,

pagal kuri kompiuteriui nurodoma kokia elementaria operacija reikia atlikti ir keturis adresus.

Pirmieji du adresai rodo, kur atmintyje yra duomenys, vieno adreso reikia rezultatui ir dar vieno

adreso - paskesnei komandai. Tokios komandos vadinamos 4 adresu komandomis. Komandose gali

buti nurodomi ne operandu adresai, o patys

operandai. Pavyzdžiui, apskaičiuojant išraiška i = j + k, galima nurodyti tokia simboline komanda:

čia :

26

Page 27: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

ADD - simbolinis sudėties komandos kodas;

j, k, i - duomenų bei rezultato adresai;

p - paskesnes komandos adresas.

Matome, kad ši komanda yra ilga, jai užrašyti reikia daug atminties. Todėl

pabandykime sutrumpinti komanda. Jeigu programa vykdytume nuosekliai komanda po komandos,

tai paskesnes komandos nereikėtų nurodyti, tuo pačiu sutrumpėtu ir pati komanda. Tada tai paciai

operacijai atlikti galima nurodyti tokia komanda:

kuri reikštu, kad prie kintamojo j reikia pridėti kintamąjį k ir rezultatą užrašyti kintamajame i.

Tokios komandos vadinamos 3 adresu komandomis. Šiuo atveju paskesnes komandos adresą

nurodo komandos skaitiklis. Norint dar labiau sutrumpinti komanda, reikia panaikinti dar viena

operando adresą. Tokiu atveju komandoje paliekami 2 adresai, tačiau dabar gautas rezultatas turi

buti įrašomas i viena iš duomenų. Šiuo atveju aišku, komanda atmintyje užima mažiau vietos, tačiau

programuoti sudėtingiau. Tai pačiai išraiškai apskaičiuoti dabar reikia dviejų komandų:

Pirmoji komanda (MOVE) kintamąjį j įrašo i kintamojo i vieta, o antroji - prie jo prideda kintamąjį

k ir gauta suma įrašo i ta pačia vieta, t.y. i. Tokios komandos vadinamos 2 adresu komandomis.

Galima dar labiau sutrumpinti komanda joje paliekant tik vieno operando adresą, tačiau operacija

atliekama su dviem operandais. Palikus komandoje tik viena operandą, procesoriuje išskiriama

speciali atmintis, vadinama akumuliatoriumi, ir visos operacijos atliekamos su duomenimis,

esančiais šiame akumuliatoriuje ir operande, kurio adresas nurodytas komandoje. Gautas rezultatas

taip pat paliekamas akumuliatoriuje. Toks adresavimo būdas sutrumpina komandas, tačiau išauga jų

skaičius. Pavyzdžiui, užrašant komandas ankstesnei išraiškai apskaičiuoti, šiuo atveju reikėtų rašyti:

pirmoji komanda (LOAD) patalpina i akumuliatorių kintamąjį j, antroji padidina akumuliatoriaus

turini kintamojo k reikšme, trečioji (STORE) - rezultatą įrašo i kintamąjį i. Tokios komandos

27

Page 28: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

vadinamos vieno adreso komandomis. Kyla klausimas: ar galima sukurti toki kompiuteri, kurio

komandose nereikėtų nurodinėti nei vieno adreso? Pasirodo - galima. Tereikia duomenis saugoti

steke. Stekas - tai toks informacijos saugojimo būdas, kai galima kreiptis tik i paskutinįjį steko

elementą: rašant į steką gale prirašomas naujas elementas, skaitant- paimamas paskutinysis. Taigi,

jeigu butu steko elemento įrašymo ir skaitymo komandos, tai kitoms procesoriaus komandoms

nereikėtų adresu. Apskaičiuojant ankstesne išraiška, gali buti tokios komandos:

Komanda ADD ir kitos panašios komandos vadinamos neadresuotomis. Matome, kad taikant

įvairius adresavimo budus, keičiasi programavimo stilius, vienur mažiau komandų, kitur tam

pačiam skaičiavimui jų reikia daugiau. Pavyzdžiui, apskaičiuodami išraiška i = j + k + l + m,

vartokime tik vieno ir trijų adresu komandas. Vieno adreso komandos:

Trijų adresu komandos:

Pasižiūrėkime į sudarytu programų ilgi. Nepaisant to, kad vieno adreso komandų programa šiuo

atveju sudaryta iš daugiau komandų negu programa parašyta trijų adresu komandomis, vieno adreso

komandų programai reikia mažiau atminties.

Išvados:

28

Page 29: skaiciusitemos.weebly.comskaiciusitemos.weebly.com/uploads/4/4/3/5/44358053/sf-14... · Web viewKalbėdami apie apvalius skaičius, net nepagalvojame, kad skaičių skirstymas į

Šaltinių sąrašas

http://mokslai.lt/referatai/referatas/611/desimtaines-skaiciavimo-sistemos-atsiradimas.html

http://www.personalas.ktu.lt/~ignmart/kfp/programavimas_asembleriu.pdf

http://www.mif.vu.lt/~ragaisis/InfIvadas/SkSistemos.htm

http://lt.wikipedia.org/wiki/Dvejetain%C4%97_skai%C4%8Diavimo_sistema

http://gama.vtu.lt/biblioteka/IT/5_paskaita.htm

Kompiuterika moksleiviams ir studentams / B. Burgis ir kt., Kaunas: Technologija.-1999.

29