Aritmetiniai veiksmai

Aritmetiniai veiksmai dvejetainėje skaičiavimo sistemoje. Genialūs dalykai yra paprasti . Kompiuterio sandara, darbo principai nėra labai sudėtingi . Koks bebūtų kompiuteris – ar nedidelis asmeninis, ar galingas skaičiavimo tinklo ‘superkompiuteris ‘, uždavinius jis sprendžia nuosekliai, žingsnis po žingsnio, dažniausiai vienu laiko momentu vykdo tik vieną paprastą komandą. Pabandžius įsivaizduoti, jog norime ‘išmokyti’ kompiuterį sudėti dešimtaine skaičiavimo sistema, susidurtume su visa eile sunkumų. Pirmiausia tai, kad 10 skirtingų simbolių turi atitikti 10 kokybiškai skirtingų kokio nors elemento būsenų, o kiekvieną būseną patikimai privalo atpažinti kompiuteris. Net jei pavyktų sukonstruoti tokį kompiuterį dar tektų jį išmokyti gana komplikuotos sudėties lentelės – o joje 100 pozicijų. Su dvejetainiais skaičiais kompiuteriui patogu atlikti aritmetinius veiksmus, nes tai atitinka tik dvi stabilias būsenas (pvz.aukštas potencialas, žemas potencialas ).Kompiuteriai sudėties ir daugybos operacijas su dvejetainiais skaičiais atlieka pagal tokias taisykles:

SUDĖTIS DAUGYBA

0 + 0  0 0 * 0  0 0 + 1  1 0 * 1  0 1 + 0  1 1 * 0  0 1 + 1  10 1 * 1  1

Jei vartotume dvejetainę sistemą, neturėtume vargo nei mokydamiesi sudėties, nei daugybos lentelės. Tačiau dvejetainiai skaičiai labai ilgi, dėl to būtų nepatogu juos rašyti, skaityti, sunku įsiminti.

pvz. 100111 1101 – dauginamasis 111010 101 – daugiklis 1100001 1101 0000 1101 1000001 – sandauga

Atidžiau pažiūrėjus į daugybos pavyzdį pastebime, jog daugybos kaip ir nėra : priklausomai nuo daugiklio skilties ( vienetinė ar nulinė ) , sandauga formuojama perstumiant ir pridedant arba dauginamąjį, arba nulius. Taigi dvistabilių elementų gausa, dvejetainės aritmetikos paprastumas -tai kriterijai, kurie rodo, kad kompiuteriuose dvejetainė sistema pasirinkta neatsitiktinai. Skaičiai būna teigiami ( + ) ir neigiami (-), kadangi ženklai tik du, juos galima užkoduoti 0 ir 1 .

pvz. C  – 13  – 1101  1 1101 – o tai ne kas kita kaip skaičiaus tiesioginis kodas.

Išmokius kompiuterį skirti ženklus, galima jį taip pat išmokyti ir sudėti įvertinant ženklus. Aptikęs priešingus dėmenų ženklus , kompiuteris privalo atimti iš didesnio absoliutiniu didumu skaičiaus mažesnįjį ir skirtumui suteikti didesniojo absoliutiniu didumu skaičiaus ženklą. Atimtis yra atvirkštinis veiksmas sudėčiai ir kaip visi atvirkštiniai veiksmai matematikoje, yra sudėtingesnis. Kompiuterio aparatūros požiūriu atimčiai atlikti reikalingas ‘paskolos’ mechanizmas, ‘paskolos’ lentelės ir t.t. Ši aplinkybė paskatino kompiuterių kūrėjus ieškoti tinkamesnių techninių sprendimų. Ypač sėkmingas atimties pakeitimo sudėtimi būdas, kurį galima iliustruoti formule:

A – B  A + ( – B )

t.y. vietoj atimties sudedama su neigiamu skaičiumi, užkoduotu tam tikru, ‘ypatingu būdu’ . Šiam veiksmui realizuoti panaudosime papildomo kodo būdą: ( ir skaičiaus papildomą kodą žymėsime [A]p)

pvz.

1 atv. F  > G  F – G  F + ( -G )kai F  + 14  + 1110 [F]p  0 1110 G  – 12  – 1100 [G]a  +1 0011 – atvirkštinis kodas 0 0001 [G]p 1 0100

[F + G]p  + 0 1110 1 0100 10 0010 – ženklo skiltyje pernešimas ignoruojamas

[F + G]t  0 0010  + 0010  + 2

2 atv. F  < G  F – G  F + ( -G )kai F  + 12  + 1100 [F]p  0 1100 G  – 14  – 1110 [G]a  +1 0001 – atvirkštinis kodas 0 0001 [G]p 1 0010

[F + G]p  + 0 1100 1 0010 1 1110

[F + G]t  1 1110  – 1110  – 0001 + 0001  – 0010  – 2

Pažymėtina, kad iš neigiamo skaičiaus papildomo kodo tiesioginis kodas gaunamas pakeičiant papildomo kodo reikšmėms ( ne ženklo ) skiltis priešingomis ir pridedant prie žemiausios skilties vienetą. Asmeniniuose kompiuteriuose naudojamas papildomas kodas. Išvados : atliekant aritmetinius veiksmus PC :1. vartojama patogi dvejetainė sistema, kurios du simbolius 0 ir 1 galima atvaizduoti įvairiausiais elementais;2. Realieji skaičiai vaizduojami fiksuoto arba slankaus kablelio formatu;3. Neigiami skaičiai koduojami tam tikru būdu – kai atimties veiksmas pakeičiamas sudėtimi.4. Pagrindinė aritmetinė operacija yra sudėtis. Ji naudojama atimant, dauginant ir netgi dalijant.