1 / 49

Skaičiavimo sistemos

Skaičiavimo sistemos. Skaičiavimo sistema – tai skaičių vaizdavimo būdas skaitmenų pagalba. Skaičiavimo sistemos pozicinės (arabiškoji) nepozicinės. Nepozicinės skaičiavimo sistemos.

roy
Download Presentation

Skaičiavimo sistemos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Skaičiavimo sistemos Skaičiavimo sistema – tai skaičių vaizdavimo būdas skaitmenų pagalba. Skaičiavimo sistemos • pozicinės (arabiškoji) • nepozicinės

  2. Nepozicinės skaičiavimo sistemos Senovės graikų skaičiavimo sistema naudoja grupavimą – tai iteracinė skaičiavimo sistema – nepozicinės pavyzdys.

  3. Romėniškoji skaičiavimo sistema Tai nepozicinė skaičiavimo sistema. Turi iteracinės sistemos bruožų: I II III X XX 1 2 3 10 20 Turi pozicinės sistemos bruožų: IV VI IX XI 4 6 9 11

  4. Pozicinės skaičiavimo sistemos Skaitmens vertė priklauso nuo jo pozicijos skaičiuje. Bet kurį skaičių galima užrašyti taip: am-1Pm-1+ am-2Pm-2+…+ a1P1+ a0P0+ a-1P-1+ a-2P-2+ …+ a-sP-s čia ai – i-tasis skaičiaus skaitmuo, m –skaitmenų kiekis sveikojoje skaičiaus dalyje, s– skaitmenų kiekis trupmeninėje skaičiaus dalyje, P – skaičiavimo sistemos pagrindas.

  5. Pozicinės skaičiavimo sistemos - 2 Skaičiavimo sistemos pagrindas P parodo, kiek kartų i-tosios skilties “svoris” didesnis už (i-1) skiltį. Maksimalus galimas pavaizduoti skaičius yra Pm-1. Galimas tikslumas – minimalus vaizduojamas skaičius yra P-s . Iš viso galima užrašyti Pm+s skirtingų skaičių.

  6. Populiarios kompiuterijoje pozicinės skaičiavimo sistemos Dvejetainė – pagrindas 2. Galimi skaitmenys 0, 1. Dvejetainį skaičių 101110,1012 pervertus į dešimtainę sistemą, gausime 1*25+0*24+1*23+1*22+1*21+0*20+1*2-1+0*2-2+1*2-3 = 46,62510 Šešioliktainė sistema patogi, nes galima skaičiuoti pusbaičiais28=162. Skaitmenys 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Aštuntainėje 23=8. Skaitmenys 0,1,2,3,4,5,6,7.

  7. Sveikųjų skaičių saugojimas 1 baitu (byte) galima saugoti 0-255, t.y. 256 reikšmes. Neigiamus skaičius galima būtų saugoti – sutarus, kad kairysis bitas nurodo ženklą: 00000001=1 10000001 = -1 Problema: 127+2 = -1 01111111 + 00000010 = 10000001

  8. Sveikieji neigiami skaičiai Taigi, kaip su neigiamais skaičiais? Naudojant pirmąjį iš kairės bitąženklo vaizdavimui 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 aritmetikos, dirbančios su dviem nuliais. Todėl teigiamų 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 pavaizduotibitų kiekis).

  9. Papildomas kodas Papildomas kodas gaunamas tokiu būdu: 1.  Pavaizduojamas atitinkamas teigiamas skaičius. 2. Visi bitai invertuojami, t.y. 0 keičiamas 1 ir atvirkščiai. 3.  Pridedamas 1. Panagrinėkime, pavyzdžiui, kaip bus pavaizduotas skaičius-5 1. 5 - 00000000 00000101    2. Bitai invertuojami11111111 11111010    3. Pridedamas 111111111 11111011 Naudojant tokį vaizdavimo formatą visų neneigiamų skaičių kairiausias bitasyra 0, o neigiamų - 1.

  10. Sveikųjų skaičių tipai Byte – 1 baitas. • 0÷255 be ženklo • -127÷127 su ženklu Short integer – 2 baitai • 0÷65535 be ženklo • -32767÷32767 su ženklu Long integer – 4 baitai • 0÷4294967295 be ženklo • -2147483647÷2147483647su ženklu

  11. Realiųjų skaičių kodavimas Kiekvieno tipo duomenims koduoti skiriamas baigtinis bitų skaičius, o kiekvienas bitas gali įgyti tik vieną iš dviejų reikšmių, todėl galima užkoduoti tik baigtinę reikšmių aibę, t.y. gali būti užkoduoti tik diskretiniai duomenys. Tai reiškia, kad kompiuteryje negalima įrašyti, pavyzdžiui, visų atkarpos taškų. Dėl šių priežasčių kyla problemos, naudojant kompiuterio atmintyje realiuosius 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 įrašyti 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.

  12. Skaičiai su fiksuotuoju kableliu Galimi skaičių saugojimo būdai: • natūrali forma (taikoma tik sveikiesiems skaičiams) • su fiksuotuoju kableliu (pvz., decimal(10,5)) Trūkumas – labai siauras galimų verčių diapazonas. Atliekant aritmetines operacijas rezultato reikšmė gali išeiti iš to diapazono ribų ir fiksuojama perpildos klaida.

  13. Slankaus kablelio skaičiai Šios problemos sprendimui praverčia mokslinis formatas (angl.scientific notation): kiekvieną skaičių galima užrašyti tokia forma N = ±M*P±r M – mantisė R – eilė (sveikas skaičius) P –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

  14. Vaizduojant realų skaičių 4-iuose baituose: 0-22 bitai mantisei, 23-30 bitai laipsniui, 31 bitas – ženklas (iš viso – 4 baitai). Skaičiaus ilgis paprastai būna – 4, 6, 8 baitai. Tikslumas atitinkamai 7-8, 11-12, 15-16 reikšminių skaitmenų. Taigi, realus skaičius -1.75 keturiuose baituose būtų pavaizduotas taip: 1 00000001 0000000 00000000 10101111 Ženklas eilė mantisė (1 bitas) (8 bitai) (23 bitai)

  15. 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 4-iuose 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. Mašininis ξ (epsilon) – pats mažiausias skaičius, tenkinantis sąlygą: 1+ξ>1, nes, jei jis bus mažesnis 1+ξ=1

  16. Tekstiniai (simboliniai) duomenys Dabar kompiuteriai daugiau dirba nesu 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.

  17. Simboliniai duomenų tipai Kintamo ilgio laukai – iki 256 baitų. Simboliams koduoti naudojamos kodavimo sistemos: • ASCII (American Standard Code for Information Interchange) • ANSI (American National Standart Institute) • ISO (International Standard Organisation) • UNICODE • ...

  18. ASCII kodai Kadangi kompiuterijos vystymosi lyderė buvo JAV, tarptautiniu mastu įsitvirtino ten sukurti standartai ir, būtent, ANSI (Amerikos nacionalinis standartų institutas) standartas ASCII ( Amerikos standartinis kodas 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.

  19. ASCII kodai 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.

  20. 7-baitė ASCII kodų lentelė

  21. 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. 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. Lietuvoje lietuviškoms raidėms koduoti atsirado 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 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 joje yra 15 dalių.

  22. Nacionalinių rašmenų kodavimas (2) 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 žymuoLST 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. 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.

  23. UNICODE kodai Simbolis koduojamas dviem baitais. I baitas – kodų lentelė II baitas – simbolio kodas Privalumas – viename dokumente galima naudoti įvairius simbolius. Trūkumas – užima daugiau vietos. WinWord 6.0 – ANSI kodavimas Word 97, Word 2000, … - UNICODE

  24. Kiti duomenų tipai • Data • Laikas • Masyvai • Dideli nestruktūrizuoti laukai • Struktūriniai duomenų tipai • ...

  25. Duomenų mato vienetai kompiuterijoje

  26. Loginiai kompiuterio veikimo pagrindai Kompiuterių veikimą galime nagrinėti techniniu bei programiniu aspektais. Techninis kompiuterio veikimas remiasi “trimis banginiais”: - dvejetaine abėcėle; - logikos algebra; - elektroninėmis schemomis. Kaip jau įsitikinome, visa kompiuteriuose apdorojama informacija išreiškiama dviem simboliais – 0 ir 1. Su dviem priešingybėmis susiduriama ir logikoje–moksle apie mąstymo dėsnius ir jo formas.Logikos tikslas –nustatyti, ar nagrinėjami samprotavimai, įrodymai, išvados yra teisingi, ar klaidingi. Taigi, galima sakyti, kad logika operuoja dviem simboliais:teisingas ir klaidingas. Elementari samprotavimų dalis, apie kurią galima pasakyti, kad ji yra teisinga arba klaidinga, logikoje vadinama teiginiu. Kiekvienas teiginys turi vieną iš dviejųloginių reikšmių: teisingasarba klaidingas.

  27. Logikos algebra Logikos abėcėlę, apibūdinančią teiginių teisingumą, sudaro du simboliai (loginės reikšmės). Jie žymimi įvairiai: teisingas klaidingas true falseT F1 0 Logikos algebra–tai logikos mokslo šaka, nagrinėjanti operacijas su loginėmis reikšmėmis bei tų operacijų savybes. Logikos algebra dar vadinama Būlio algebra.Ją sukūrė anglų mokslininkas Džoržas Būlis (George Boole) devyniolikto šimtmečio viduryje.

  28. Logikos algebra (2) Loginės reikšmės 0 ir 1 yra pastovūs dydžiai, arba loginės konstantos. Be šių konstantų, dar vartojami, loginiai kintamieji dydžiai arba dar trumpiau - loginiai kintamieji.Juos žymėsime raidėmis, pvz., a, b, x. Loginiai kintamieji gali įgyti logines reikšmes 0 ir 1. Skaičiavimo technikos schemos atlieka veiksmus, atitinkančius logikos algebros operacijas. Vadinasi, logikos algebra natūraliai aprašo skaičiavimo technikos elementų veikimą. Norint suvokti elementarius veiksmus, kuriuos atlieka kompiuteris, pravartu detaliau susipažinti su logikos algebra. Programuojant taip pat neapsieinama be logikos algebros operacijų.

  29. Loginės operacijos 3 pagrindinės operacijos: • Loginė sudėtis OR (arba), disjunkcija (+, V). Rezultatas 0, kai abu operandai lygūs 0 • Loginė daugyba AND (ir), konjunkcija (*, ). Rezultatas 1, kai abu operandai lygūs 1 • Neigimo operacija NOT (ne), inversija (¬,ā)

  30. Bulio algebros dėsniai • Jungimo dėsnis: (aVb)Vc=aV(bVc); (a  b)  c=aV(bVc) • Perstatymo dėsnis: aVb=bVa; a  b=b  a • Paskirstymo dėsnis: a (bVc)=a  bVa  c;

  31. Bulio algebros savybės • a  a=a • a  a=a • a  a  b=a • a  b=a, jeigu a>=b • a  b=b, jeigu a>=b

  32. Loginiai reiškiniai Loginės operacijos argumentas gali būti ne tik teiginio reikšmė (konstanta, kintamasis ), bet ir kitos loginės operacijos rezultatas. 1 p a v y z d y s. Konjunkciją: a  b paneikime, t.y. jos rezultatą laikykime neigimo operacijos argumentu. Tam dedame neigimo brūkšnį virš viso paneigiamo reiškinio: a  b. 2 p a v y z d y s.Dviejų konjunkcijųa  b ir c  d disjunkcija: a  b  c  d. 3 p a v y z d y s.Dviejų disjunkcijųa  b ir c  d konjunkcija: ( a  b )  ( c  d ). Visi pateikti pavyzdžiai yra loginiai reiškiniai. Loginį reiškinį sudaro loginės konstantos (0 ir 1 ), loginiai kintamieji, loginių operacijųženklai ir lenktiniai skliaustai.

  33. Loginiai reiškiniai (2) 4 p a v y z d y s. Tarkime, kad skelbimo turinys toks: “Perku dviejų arba trijų kambarių butą. Buto pirmame aukšte nesiūlyti“. Užrašykime loginį reiškinį, apibūdinantį pageidaujamą butą. Pažymėkime buto savybes šitaip: k2 - dviejų kambarių butas, k3 - trijų kambarių butas, p - butas pirmame aukšte. Tuomet keitėją tenkins toks butas, kurį atitiks reiškinio ( k2 k3 ) p reikšmė.

  34. Loginės schemos Pagrindinis Būlio algebros panaudojimo tikslas – loginių schemų (LS) struktūrinis-funkcinis aprašymas. Jei LS įsivaizduosime kaip tam tikrą “juodąją dėžę” su n įėjimų ir vienu išėjimu, jos elgseną galima apibrėžti logine funkcija F(x1, x2,…xn) su n loginių kintamųjų.  X1  F(x1, x2,…xn) = YB={0, 1} Loginė schema (LS) X2  Loginės F – funkcijos gali būti užduodamos teisingumo lentelėmis arba loginiais reiškiniais. LS, pateikiamos vienu iš šių būdų, vadinamos kombinacinėmis. … … … …  Xn

  35. Teisingumo lentelės Kairėje jos pusėje išvardijamos visos įmanomos argumentų reikšmės, dešinėje – jas atitinkančios funkcijos reikšmės. 3 argumentai 2 argumentai A Y ? B

  36. 1 & 1 Loginiai elementai ARBA IR NE

  37. ARBA Griežtasis ARBA f(a,b) = (a b) (a b)

  38. Griežtojo ARBA loginė schema

  39. Vienaskiltis sumatorius

  40. RS trigeris

  41. Algoritmas Žodis kilęs nuo miesto Chorezmo, kur gyveno Rytų mokslininkas Mohamedas (VIII-IX a.), parašiusiam traktatą apie pozicinę skaičiavimo sistemą. Algoritmas – griežtai ir vienareikšmiškai apibrėžta veiksmų seka. Veiksmų metu duomenys transformuojami į prasmingą rezultatą (gaminama informacija).

  42. Algoritmams užrašyti naudojami įvairūs formalizmai: • Turing’o mašina • Post’o mašina • Markovo algoritmai • Lambda skaičiavimas Algoritmas turi paliepimo prasmę, todėl matematinės formulės tuo tikslu netinka. Pvz.: πe matematiškai visiškai tikslu. Skaičiuojant kompiuteriu, paklaida kaupiasi, ir gali viršyti rezultato dydį.

  43. Algoritmo savybės • Baigtinumas (kada nors turi baigtis) • Apibrėžtumas (rezultatas turi būti vienareikšmiškas) • Duomenysalgoritmasrezultatas. Duomenys nėra būtini. Rezultatas būtinas. • Efektyvumas (laikas, veiksmų skaičius)

  44. Programinis kompiuterio veikimo principas Programa – tai kompiuterio procesoriui vykdyti skirtų komandų rinkinys. Komandos struktūra: Kokį veiksmą atlikti? Komanda: OPK ADR Su kuriaisduomenimis atlikti? OPK – operacijos kodas ADR - adresas

  45. Mašininės komandos Mašininių komandų struktūra: • vienanarės • dvinarės • beadresės Sum(X,Y) – dvinarė Sum – operacinė dalis; X, Y – adresinė dalis. Operacinė dalis būtina!

  46. Galimos komandos pagal operacijų tipą: • Vidinis informacijos persiuntimas • Aritmetinės operacijos • Loginės operacijos • Kreipimasis į išorinius įrenginius • Valdymo perdavimas • Kitos (pagalbinės) operacijos • ...

  47. 1 baito ilgio komandų pavyzdžiai Tarkime operacijų kodui bus skirta 3 bitai, o adreso daliai liks 5 bitai. Toks kompiuteris gali vykdyti 23 = 8 komandas ir adresuoti 25=32 atminties ląsteles. Tegul operacijų kodai yra:

  48. Dviejų skaičių sudėties programa Komandų seka, lemianti kompiuterio “elgesį”, vadinama programa. Kaip ir duomenys, ji saugoma pagrindinėje kompiuterio atmintyje dvejetainiu pavidalu. Kaip atrodytų programa ir atminties turinys atliekant elementarų dviejų skaičių sudėties veiksmą? Pvz., sudėti skaičių 3, esantį 8-toje ląstelėje ir skaičių 7, esantį 9-oje ląstelėje. Rezultatą užrašyti į 10-tą ląstelę. Pagrindinės atminties “vaizdas” būtų toks:

  49. Ląstelės numeris Ląstelės turinys Paaiškinimas 0 1 2 3 00000 00001 00010 00011 00101000 01101001 01001010 00000000 ======= PROGRAMA ========== 8-osios ląst. turinį (3) įrašyti į reg. A A turinį sudėti su 9-osios ląst. turiniu (7) Įsiminti reg. A turinį 10-ojoje lątelėje Sustoti 4 … 7 00100 … 00111 … … … ======== LAISVA ATMINTIS ===== 8 9 10 01000 01001 01010 00000011 00000111 00010011 =========== DUOMENYS ========= Skaičius 3 Skaičius 7 Skaičius 19 (vėliau čia bus rezultatas-10) 11 … 31 01011 … 11111 … … … ========= LAISVA ATMINTIS ===== Pagrindinės atminties “vaizdas”

More Related