Datorzinātņu kursā neatkarīgi no skolas vai augstskolas īpaša vieta ir tādam jēdzienam kā skaitļu sistēmas. Parasti tam tiek atvēlētas vairākas nodarbības vai praktiskie vingrinājumi. Galvenais mērķis ir ne tikai apgūt tēmas pamatjēdzienus, izpētīt skaitļu sistēmu veidus, bet arī iepazīties ar bināro, oktālo un heksadecimālo aritmētiku.
Ko tas nozīmē?
Sāksim ar pamatjēdziena definīciju. Kā norādīts datorzinātņu mācību grāmatā, skaitļu sistēma ir skaitļu rakstīšanas sistēma, kurā tiek izmantots īpašs alfabēts vai noteikta skaitļu kopa.
Atkarībā no tā, vai cipara vērtība mainās no tā pozīcijas skaitļā, izšķir divas: pozicionālās un nepozicionālās skaitļu sistēmas.
Pozicionālajās sistēmās cipara vērtība mainās līdz ar tā pozīciju ciparā. Tātad, ja mēs ņemam skaitli 234, tad skaitlis 4 tajā nozīmē vienības, bet, ja ņemam vērā skaitli 243, tad šeit tas jau nozīmēs desmitus, nevis vienības.
Nepozicionālās sistēmāscipara vērtība ir statiska neatkarīgi no tā atrašanās vietas ciparā. Visspilgtākais piemērs ir nūju sistēma, kur katra vienība ir norādīta ar domuzīmi. Neatkarīgi no tā, kur piešķirat zizli, skaitļa vērtība mainīsies tikai par vienu.
Nepozicionālās sistēmas
Nepozicionālās skaitļu sistēmas ietver:
- Vienota sistēma, kas tiek uzskatīta par vienu no pirmajām. Tas izmantoja nūjas, nevis ciparus. Jo vairāk to bija, jo lielāka bija skaitļa vērtība. Šādi rakstītu skaitļu piemēru var sastapt filmās, kur mēs runājam par jūrā pazudušajiem cilvēkiem, ieslodzītajiem, kuri katru dienu atzīmē ar robu palīdzību akmenī vai kokā.
- Romiešu valoda, kurā ciparu vietā tika izmantoti latīņu burti. Izmantojot tos, jūs varat uzrakstīt jebkuru numuru. Tajā pašā laikā tā vērtība tika noteikta, izmantojot skaitļu veidojošo ciparu summu un starpību. Ja pa kreisi no cipara bija mazāks skaitlis, tad kreisais cipars tika atņemts no labā, un, ja labajā pusē esošais cipars bija mazāks vai vienāds ar ciparu pa kreisi, tad to vērtības tika summētas. uz augšu. Piemēram, skaitlis 11 tika uzrakstīts kā XI un 9 kā IX.
- Alfabētisks, kurā skaitļi tika apzīmēti, izmantojot noteiktas valodas alfabētu. Viena no tām ir slāvu sistēma, kurā vairākiem burtiem bija ne tikai fonētiska, bet arī skaitliska vērtība.
- Babiloniešu skaitļu sistēma, kas rakstīšanai izmantoja tikai divus simbolus – ķīļus un bultas.
- Ēģipte arī izmantoja speciālās rakstzīmes, lai attēlotu ciparus. Rakstot ciparu, katru rakstzīmi var izmantot ne vairāk kā deviņas reizes.
Pozicionālās sistēmas
Datorzinātnē liela uzmanība tiek pievērsta pozicionālo skaitļu sistēmām. Tajos ietilpst:
- binārs;
- oktāls;
- decimal;
- heksadecimāls;
- heksadecimāls, tiek izmantots laika skaitīšanai (piemēram, minūtē - 60 sekundes, stundā - 60 minūtes).
Katrai no tām ir savs rakstīšanas alfabēts, tulkošanas noteikumi un aritmētiskās darbības.
Decimālā sistēma
Šī sistēma mums ir vispazīstamākā. Ciparu rakstīšanai tiek izmantoti skaitļi no 0 līdz 9. Tos sauc arī par arābu valodu. Atkarībā no cipara atrašanās vietas ciparā tas var apzīmēt dažādus ciparus – vienības, desmitus, simtus, tūkstošus vai miljonus. Mēs to lietojam visur, mēs zinām pamatnoteikumus, pēc kuriem tiek veiktas aritmētiskās darbības ar skaitļiem.
Binārā sistēma
Viena no galvenajām skaitļu sistēmām datorzinātnēs ir binārā. Tā vienkāršība ļauj datoram veikt apgrūtinošus aprēķinus vairākas reizes ātrāk nekā decimālajā sistēmā.
Ciparu rakstīšanai tiek izmantoti tikai divi cipari - 0 un 1. Tajā pašā laikā, atkarībā no 0 vai 1 pozīcijas skaitļā, tā vērtība mainīsies.
Sākotnēji tieši ar binārā koda palīdzību datori saņēma visu nepieciešamo informāciju. Tajā pašā laikā viens nozīmēja signāla klātbūtni, kas pārraidīts, izmantojot spriegumu, un nulle nozīmēja tā neesamību.
Oktālssistēma
Vēl viena plaši pazīstama datoru skaitļu sistēma, kurā tiek izmantoti skaitļi no 0 līdz 7. To izmantoja galvenokārt tajās zināšanu jomās, kas saistītas ar digitālajām ierīcēm. Taču pēdējā laikā to lieto daudz retāk, jo tā ir aizstāta ar heksadecimālo skaitļu sistēmu.
BCD
Lielu skaitļu attēlošana binārajā sistēmā cilvēkam ir diezgan sarežģīts process. Lai to vienkāršotu, tika izstrādāta bināro-decimālo skaitļu sistēma. To parasti izmanto elektroniskajos pulksteņos, kalkulatoros. Šajā sistēmā nevis veselais skaitlis tiek pārvērsts no decimālās sistēmas binārajā sistēmā, bet katrs cipars tiek pārtulkots atbilstošajā nulles un vieninieku kopā binārajā sistēmā. Tas pats attiecas uz konvertēšanu no binārā uz decimālo. Katrs cipars, kas attēlots kā četru ciparu nulles un vieninieku kopa, tiek pārtulkots ciparā decimālo skaitļu sistēmā. Principā nav nekā sarežģīta.
Lai strādātu ar cipariem, šajā gadījumā noder skaitļu sistēmu tabula, kurā būs norādīta atbilstība starp skaitļiem un to bināro kodu.
Heksadecimāls
Pēdējā laikā heksadecimālā skaitļu sistēma ir kļuvusi arvien populārāka programmēšanā un datorzinātnēs. Tas izmanto ne tikai ciparus no 0 līdz 9, bet arī vairākus latīņu burtus - A, B, C, D, E, F.
Tajā pašā laikā katram no burtiem ir sava nozīme, tātad A=10, B=11, C=12 un tā tālāk. Katrs cipars ir attēlots kā četru rakstzīmju kopa:001F.
Ciparu konvertēšana: no decimāldaļas uz bināru
Tulkošana skaitļu sistēmās notiek saskaņā ar noteiktiem noteikumiem. Visizplatītākā konvertēšana no binārā uz decimāldaļu un otrādi.
Lai pārvērstu skaitli no decimālskaitļa uz bināru, tas ir konsekventi jādala ar skaitļu sistēmas bāzi, tas ir, skaitli divi. Šajā gadījumā katras nodaļas atlikusī daļa ir jānosaka. Tas turpināsies, līdz atlikušais sadalījums ir mazāks vai vienāds ar vienu. Vislabāk ir veikt aprēķinus kolonnā. Pēc tam saņemtie atlikumi no dalīšanas tiek ierakstīti virknē apgrieztā secībā.
Piemēram, pārveidosim skaitli 9 par bināru:
Sadalām 9, tā kā skaitlis nedalās vienmērīgi, tad ņemam skaitli 8, atlikums būs 9 - 1=1.
Pēc 8 dalīšanas ar 2 iegūstam 4. Sadaliet vēlreiz, jo skaitlis dalās vienmērīgi - iegūstam atlikumu 4 - 4=0.
Veiciet to pašu darbību ar 2. Atlikums ir 0.
Sadalīšanas rezultātā iegūstam 1.
Tālāk mēs pierakstām visus saņemtos atlikumus apgrieztā secībā, sākot no dalījuma kopsummas: 1001.
Neatkarīgi no galīgās skaitļu sistēmas, skaitļu pārvēršana no decimāldaļas uz jebkuru citu notiks saskaņā ar skaitļa dalīšanas principu, pamatojoties uz pozicionālo sistēmu.
Tulkot skaitļus: no binārā uz decimāldaļu
Ir diezgan vienkārši konvertēt skaitļus decimāldaļās no binārā. Lai to izdarītu, pietiek zināt noteikumus skaitļu palielināšanai līdz jaudai. Šajāgadījumā ar pakāpēm divi.
Tulkošanas algoritms ir šāds: katrs cipars no binārā skaitļa koda jāreizina ar divi, un pirmie divi būs pakāpē m-1, otrais - m-2 un tā tālāk, kur m ir koda ciparu skaits. Pēc tam pievienojiet saskaitīšanas rezultātus, iegūstot veselu skaitli.
Skolēniem šo algoritmu var izskaidrot vienkāršāk:
Lai sāktu, mēs ņemam un pierakstām katru ciparu, kas reizināts ar divi, pēc tam noliekam divu jaudu no beigām, sākot no nulles. Pēc tam pievienojiet iegūto skaitli.
Piemēram, apskatīsim iepriekš iegūto skaitli 1001, pārvēršot to decimālajā sistēmā, un tajā pašā laikā pārbaudīsim mūsu aprēķinu pareizību.
Tas izskatīsies šādi:
123 + 022+021+ 120=8+0+0+1=9.
Studējot šo tēmu, ir ērti izmantot tabulu ar pakāpēm divi. Tas ievērojami samazinās laiku, kas nepieciešams aprēķinu pabeigšanai.
Citi tulkojumi
Dažos gadījumos tulkošanu var veikt starp bināro un oktālo, bināro un heksadecimālo. Šādā gadījumā varat izmantot īpašas tabulas vai datorā palaist kalkulatora lietojumprogrammu, cilnē Skats atlasot opciju Programmētājs.
Aritmētiskās darbības
Neatkarīgi no formas, kādā skaitlis tiek uzrādīts, ar to iespējams veikt parastos aprēķinus. Tas var būt dalīšana un reizināšana, atņemšana un saskaitīšana skaitļu sistēmā,kuru esat izvēlējies. Protams, katram no tiem ir savi noteikumi.
Tātad binārajai sistēmai katrai operācijai ir izstrādātas savas tabulas. Tās pašas tabulas tiek izmantotas citās pozicionēšanas sistēmās.
Jums tie nav jāiegaumē - vienkārši izdrukājiet tos un paņemiet tos pa rokai. Varat arī izmantot kalkulatoru savā datorā.
Viena no svarīgākajām tēmām datorzinātnēs ir skaitļu sistēma. Zinot šo tēmu, izpratne par algoritmiem skaitļu pārsūtīšanai no vienas sistēmas uz otru ir garantija, ka varēsit saprast sarežģītākas tēmas, piemēram, algoritmizāciju un programmēšanu, kā arī varēsiet pats uzrakstīt savu pirmo programmu.