Skaitīšanas sistēma

**Skaitīšanas sistēma** ir simbolisks skaitļu pieraksta veids, kurā skaitļu attēlošanai tiek izmantoti vairāki cipari vai citas rakstzīmes. 

Izšķir pozicionālās un nepozicionālās skaitīšanas sistēmas. Pozicionālajās skaitīšanas sistēmās cipara vērtība ir atkarīga no tā atrašanās vietas skaitlī. Pozicionālās ir decimālā, heksadecimālā, duodecimālā, oktālā, binārā un citas skaitīšanas sistēmas. Nepozicionālās skaitīšanas sistēmas piemērs ir romiešu skaitļi. Šajā sistēmā nav svarīgi, kur kāds simbols atrodas, tā nozīme nemainās. Piemēram I ir vieninieks gan skaitļa sākumā gan beigās. Visās pozicionālajās skaitīšanas sistēmās bāze attēlojas skaitļa "10" veidā, piemēram, binārajā skaitīšanas sistēmā skaitlis "2" attēlojas kā "10", oktālajā kā "10" attēlojas skaitlis "8" utt.

## Decimālā skaitīšanas sistēma
Decimālajā skaitīšanas sistēmā bāze ir kopējais dažādu simbolu skaits, kas pieļaujami šajā sistēmā. Lielākā simbola vērtība vienmēr ir *par vienu mazāka nekā bāze*. Piemēram, decimālajā sistēmā ir desmit dažādi simboli: 0,1,2,3,4,5,6,7,8,9, kur lielākais 9 ir par vienu mazāks nekā 10 (bāze).
### Skaitīšana
Secīgas (pa vienam) decimālās skaitīšanas koncepcija

:::::::::::: *Decimālās skaitīšanas koncepcija*

Ir speciāli jāpasvītro skaitļu traktēšanu, kas lielāki par sistēmas bāzi. Simbols 0 seko vienmēr pēc tam, kad kādā no skaitļa pozīcijām skaitīšanas secībā izmantoti visi sistēmā atļautie simboli, kas decimālajā sistēmā ir no 0 līdz 9. Pie simbola 0 parādīšanās uzkrājums no 1 līdz 9 "jānobīda" uz tieši blakus esošo pozīciju pa kreisi no 0 simbola un secīgā skaitīšana jāatsāk iepriekšējā pozīcijā. Simbolu 0 dēvē par nobīdes rādītāju un tas norāda, ka secīgi skaitot ir saskaitīti attiecīgās pozīcijas 10 vieninieki. Šādu darbību var aplūkot tabulā pie skaitļiem 10, 20 un 100. Katrai pozīcijai decimālajā skaitlī, jeb katram vieniniekam šajā pozīcijā ir desmit reizes lielāka vērtība par labajā pusē tieši blakus esošās pozīcijas vērtību, t.i. šajā pozīcijā esošā vieninieka vērtību. *Katra pozicionālā vērtība ir desmita reizulis un tā var tikt izteikta kā skaitlis 10 kāpināts kādā pakāpē*.

*Piemērs: izteikt 123 pakāpju formā.*
*Risinājums:*
*123= 1*100+2*10+3*1= 1*10<sup>2</sup>+2*10<sup>1</sup>+3*10<sup>0</sup>*


Virkni (rindu) ar augošām pakāpēm pa kreisi no decimālā komata var turpināt neierobežoti tālu. Virkni var turpināt arī pa labi no decimālā komata, tikai ar *negatīvām* pakāpēm. Piemēram, pirmajā pozīcijā pa labi no decimālā komata ir desmitdaļu pozīcija un tai vērtība ir 10-1 jeb 1/101.
Jebkuru decimālās sistēmas skaitli var izteikt tāpat kā tas parādīts tabulā "Decimālo skaitļu izteikšana". Simbols, kas atrodas skaitļa kādā pozīcijā, rāda cik 10 pakāpes reizināmo ietilpst kopējā apjomā, ko pārstāv skaitlis.

::::::::::: *Decimālo daļu izteikšana*
 
Vispārīgā veidā jebkuru decimālo skaitli var izteikt ar vienādojumu N=j=-m ∑j=n Ai*10j , kur: Aj - pieļaujamie simboli (0,1,2,3,4,5,6,7,8,9); n,m - summēšanas augšējā un apakšējā robeža, turklāt m ir daļskaitļa daļas pozīciju skaits, n=P-1, kur P - skaitļa veselās daļas pozīciju skaits. 
*Piemērs*: izteikt summas formā decimālo skaitli 2345,67. 
*Risinājums*: 
::n=3, m=2
::N=2*103+3*102+4*101+5*100+6*10-1+7*10-2
::N=2000+300+40+5+0,6+0,07

## Binārā skaitīšanas sistēma
### Bāze un simboli
Šajā skaitīšanas sistēma bāze ir 2 un izmantojamie simboli ir 0 un 1.
### Skaitīšana
Pie bāzes 2 maksimālais skaits, ko var izteikt ar vienu pozīciju, ir viens. Ja grib izteikt decimālo 2, tad 1 jānobīda pa kreisi un jālieto 0, lai indicētu, ka notikusi bīde. Tādējādi skaitlis 2 binārajā sistēmā ir 10 (viens un nulle).

::::: *Binārā skaitīšana no 0 līdz 15*

Šis skaitīšanas piemērs parāda, ka pastāv iespēja skaitīt sistēmā, kuras bāze atšķiras no 10. Tabulā "Binārā skaitīšana no 0 līdz 15" skaitīšanas apjoms beidzas ar 15, bet tāpat kā decimālajā, arī binārajā sistēmā var skaitīt *neierobežoti palielinot*.

:::::: *Skaitļu izteikšanas piemēri binārajā sistēmā* 

Tabula ir līdzīga tabulai, kas demonstrē decimālo sistēmu. Vienīgās atšķirības ir citu iespējamo simbolu lietojums un divnieku pakāpes reizuļa izmantojums. Vienādojumu var pārrakstīt formā : N=j=-m ∑j=n Ai*2j, kur Ai - pieļaujamie simboli (0,1); n,m - summēšanas augšējā un apakšējā robeža, turklāt m ir daļskaitļu pozīcijas skaits; n=P-1, kur P - skaitļu veselās daļas pozīciju skaits.

*Piemērs*: izteikt bināro skaitli 11011,01 pakāpju formā
*risinājums*: n=4, m=2
::N=1*24+1*23+0*22+1*21+1*20+0*2-1+1*2-2
::N=27,25  


### Jebkuras bāzes skaitīšanas sistēma

Skaitīšanas sistēmas izveidošanai var izmantot *jebkura izmēra* bāzi, kura lielāka par viens. Apzīmējot bāzi ar B, skaitli N pēc līdzīgas shēmas kā ar decimālo un bināro sistēmu, var izteikt kā pakāpju summu **N=<sub>j=-m</sub> ∑<sup>j=n</sup> A<sub>i</sub>*B<sup>j</sup>**, kur Ai - pieļaujamie simboli (0,1, ... , B-1); n,m - summēšanas augšējā un apakšējā robeža, turklāt m ir daļskaitļu pozīcijas skaits; n=P-1, kur P - skaitļu veselās daļas pozīciju skaits.
Jebkuras sistēmas skaitli var attēlot sekojoši saskaņā ar formulu **N=<sub>j=-m</sub> ∑<sup>j=n</sup> A<sub>i</sub>*B<sup>j</sup>** izmantojot bāzes B pakāpes.
Vispārējais vienādojums jeb formula ļauj izveidot citas digitālajā tehnikā izmantojamas skaitīšanas sistēmas, piemēram, oktālo ar bāzi 8 vai heksadecimālo ar bāzi 16 un citas sistēmas. Tomēr digitālajās ierīcēs vairumu operāciju realizē izmantojot bināro skaitīšanas sistēmu. 

### Binārās sistēmas nepieciešamība

Binārā sistēma ievērojami samazina grūtības, kas rodas, precīzi attēlojot decimālos ciparus ar elektronisko ierīču rīcībā esošajiem līdzekļiem. Lai varētu izmantot visus decimālās sistēmas simbolus, nepieciešami desmit diskrēti līmeņi. Visiem šiem līmeņiem jābūt pietiekami atšķirīgiem vienam no otra, lai atpazīstot simbolus, nerastos kļūdas. Šāds kritērijs vairumam datu apstrādes elektronisko iekārtu ir pārāk ierobežojošs un neizpildāms. 
Binārajā sistēmā nepieciešami tikai divi diskrēti līmeņi un decimālos skaitļus var kodēt ekvivalentās binārās vērtībās. Elektroniskajās ierīcēs var izmantot divus izteikti atšķirīgus sprieguma vai strāvas līmeņus un vērtējot katrā gadījumā izslēgt jebkādas šaubas par to, kādu bināro vērtību katrs līmenis pārstāv. Vērtību 0 pārstāv viens pieņemtais elektriskā signāla līmenis, kurš parasti ir zems, un vērtību 1 - otrs. Visas tālāk aplūkotās datu apstrādes, pārveidošanas, pārvadīšanas ierīces izmanto bināro sistēmu un tādēļ viena no pamatprasībām iepazīstoties ar digitālajiem elementiem un ierīcēm ir prasme pāriet n decimālās sistēmas uz bināro sistēmu un otrādi.  

:::*Skaitīšanas sistēmu salīdzinājums* (izceltās ir sistēmu bāzes)

## Oktālā sistēma

Oktālās skaitīšanas sistēmas bāze ir 8. Tabulā "Skaitīšanas sistēmu salīdzinājums" redzams, ka pakāpeniski skaitot vienas pozīcijas ietvaros no 0 līdz 7, t.i. maksimālajam simbolam oktālajā sistēmā, attiecīgi binārajā sistēmā notiek skaitīšana triju pozīciju ietvaros (no 000 līdz 111). Katram oktālās sistēmas simbolam atbilst trīs pozīciju binārais ekvivalents un otrādi. 
Lai pārietu no binārās uz oktālo sistēmu, binārais skaitlis jāsadala ciparu grupās pa trim simboliem un katrai grupai jāuzraksta attiecīgais oktālais ekvivalents.
*Piemērs*: uzrakstīt oktālo ekvivalentu skaitlim 10110101110012
*Risinājums*: 

10110101110012=132718

## Heksadecimālā sistēma

Heksadecimālās sistēmas bāze ir 16. Tātad sistēmā izmantoti 16 simboli: 10 cipari no 0 līdz 9 un 6 latīņu alfabēta lielie sākuma burti A, B, C, D, E, F. Pēc analoģijas ar oktālo sistēmu konstatējam, ka katram simbolam heksadecimālajā sistēmā atbilst četru pozīciju binārais skaitlis. 
Pārejot no binārās uz heksadecimālo sistēmu binārais skaitlis jāsadala grupās pa četrām kārtām un katrai četru bināro simbolu grupai jāuzraksta heksadecimālais ekvivalents. 
::1|1100|1010|0111|01012 ←→ 1CA7516

## Skatīt arī

* Bāze (aritmētika)

## Literatūras saraksts

* J. Priedīte "Ciparu Tehnika Energoautomātikā" (RTU Izdevniecība, R-2004)
* www.datuve.lv
* https://web.archive.org/web/20100512182202/http://www.liis.lv/webgramata/temas/info/skaitli.html
* A. Klūga "Ciparu Elektronika un Datoru Arhitektūra" (RTU, R-2006)

## Ārējās saites