Dalīšana ar 2: definīcija, vēsture un pielietojums datorzinātnē

Iepazīsties ar dalīšanu ar 2 — definīcija, vēsturiska attīstība un praktiski pielietojumi datorzinātnē: optimizācija, bitu operācijas un algoritmi.

Autors: Leandro Alegsa

Matemātikā dalīšana ar 2 ir darbība, kad skaitli dala ar divi. Dažas kultūras, piemēram, senie ēģiptieši, uzskatīja, ka tā ir atšķirīga darbība no vispārējās dalīšanas. Līdz pat 16. gadsimtam (1500–1599) tā domāja arī daži matemātiķi. Mūsdienās dalīšanu ar 2 īpaši plaši izmanto mūsdienu datorprogrammēšanā.

Dalīšanu ar 2 sauc arī par dalīšanu uz pusēm, mediāciju un dimidiāciju. Šie termini akcentē ideju par kaut kā sadalīšanu divās vienādās daļās — piemēram, skaitļa sadalīšanu pusēs vai segmenta dalīšanu uz diviem vienādiem gabaliem.

Pamatīpašības

  • Pāra un nepāra skaitļi: veselam pāra skaitlim dalot ar 2 rezultāts ir vesels (piemēram, 8 / 2 = 4). Nepāra skaitļa dalījums ar 2 dod pusē vairāk par veselumu (piemēram, 7 / 2 = 3.5 vai vesela daļa 3 un atlikums 1).
  • Atlikums: veselā skaitļa dalījums ar 2 atstāj atlikumu 0 (ja skaitlis ir pāra) vai 1 (ja skaitlis ir nepāra).
  • Simbolika: reālu skaitļu gadījumā dalījumu pieraksta kā a/2; racionāliem skaitļiem rezultāts var būt precīzs racionālais skaitlis, bet veselā dalījumā parasti runājam par galīgo daļu un atlikumu.
  • Ģeometriskā interpretācija: dalīšana ar 2 nozīmē arī punktu vai segmentu sadalīt uz pusēm — iegūst viduspunktu.

Dalīšana veselajos un reālos skaitļos

Veselos skaitļos dalīšanu ar 2 bieži apskata kā darbību ar rezultātu un atlikumu: piemēram, 13 ÷ 2 = 6 ar atlikumu 1. Ja runājam par reāliem skaitļiem, dalījums ar 2 vienkārši samazina skaitli uz pusi (piemēram, 5.6 / 2 = 2.8). Dažās programmēšanas valodās veselā skaitļa dalījums atgriež noapaļotu uz leju rezultātu (floor) vai atkarībā no valodas uz 0 tuvojošu noapaļojumu.

Algoritmi un pielietojums datorzinātnē

  • Bitshifts: binārā reprezentācijā dalīšana ar 2 atbilst bitu labējam nobīdei par vienu pozīciju (piemēram, n >> 1). Tas ir ātrs veids, kā aprēķināt veselā skaitļa dalījumu ar 2, taču jābūt piesardzīgam ar negatīviem skaitļiem un ar to, kā konkrētā valoda interpretē aritmētisko vai loģisko nobīdi.
  • Optimizācija: zemajā līmenī dalīšanu ar 2 bieži aizstāj ar nobīdi, lai uzlabotu ātrumu, jo dalīšanas instrukcijas var būt lēnākas nekā nobīdes.
  • Algoritmi "dalīt un valdi": daudzi algoritmi — piemēram, binārā meklēšana (binary search) vai sakārtošanas algoritmi, kas dala masīvu uz pusēm (merge sort) — izmanto dalīšanu ar 2, lai noteiktu viduspunkta indeksu vai sadalītu datus.
  • Skaitļošanas precizitāte: pludiņskaitļos dalīšana ar 2 parasti ir precīza, ja skaitlis ir reizināms ar 2 bez zaudējumiem mantisā; tomēr jāņem vērā pludiņprecizitātes ierobežojumi.

Vēsturisks konteksts

Senas matemātiskās tradīcijas dažkārt izcēla dalīšanu uz pusēm kā īpašu darbību. Piemēram, senie ēģiptieši izmantoja vienību daļas un divkāršošanas (doubling) metodes, kas savā pieejā dalījumu ar 2 padarīja atšķirīgu no vispārējā dalījuma. Daži matemātiķi līdz 16. gadsimtam attiecīgi klasificēja un interpretēja šīs darbības citādi nekā mūsdienu algebriskā pieeja.

Dažādi pielietojumi ikdienā

  • Sadzīvē — mērījumu dalīšana pusēs (piemēram, recepšu porciju samazināšana uz pusi).
  • Inženierijā un grafikā — attēla izmēra samazināšana uz pusi vai koordinātu mērogošana.
  • Statistikā — vidējā sadalīšana un mediānas aprēķinos dažkārt izmanto dalīšanu ar 2, lai atrastu centrālās pozīcijas.

Praktiski piemēri

  • 8 / 2 = 4 — pāra skaitļa precīzs rezultāts.
  • 7 / 2 = 3.5 — ja vēlamies veselu daļu: 7 divreiz dalot dod 3 ar atlikumu 1.
  • Bināri: 01010 (10 base 10) >> 1 = 00101 (5 base 10).

Dalīšana ar 2 ir vienkārša, tomēr fundamentāla darbība gan matemātikā, gan datorzinātnē — no teorētiskas interpretācijas un vēsturiskām meto­dēm līdz ātriem bitu līmeņa aprēķiniem mūsdienu programmēšanā.

Binary

Binārajā skaitļu sistēmā ir tikai divi cipari: Visi pārējie skaitļi tiek attēloti ar šiem diviem cipariem. Piemēram, "viens" ir 1, "divi" ir 10, "trīs" ir 11, "četri" ir 100 utt. Lielākoties cilvēki izmanto skaitļu sistēmu ar desmit cipariem (skaitļi no 0 līdz 9). To sauc par decimālskaitļu sistēmu.

Dalīšana ar divi binārajā sistēmā ir ļoti vienkārša. To veic, atmetot skaitļa pēdējo ciparu labajā pusē. To sauc par "bitu nobīdes operāciju". Piemēram, ja binārajam skaitlim 100 veiktu bitu nobīdes operāciju, mēs iegūtu 10. Tā kā binārais skaitlis 100 ir decimālskaitlis 4, bet binārais skaitlis 10 ir decimālskaitlis 2, tam ir jēga.

Cits piemērs ir bitu nobīdes operācijas veikšana 1101. Tā rezultātā mums paliktu 110, bet mēs no beigām izmetām 1, nevis nulli. Tas arī ir loģiski, jo 1101 binārajā rakstā ir 13 decimālskaitļos. Ja 13 dalām ar 2, iegūstam 6 ar atlikumu 1 (mums paliek 1).

Datori

Datori informācijas glabāšanai izmanto bināro skaitļu sistēmu. Informācija tiek sadalīta sīkos gabaliņos, ko sauc par bitiem. Katrs bits ir vai nu 0, vai 1. Tāpēc ātrākais un vienkāršākais veids, kā dators var veikt dalīšanu, ir bitu nobīde - dalīšana ar divi. Parastās dalīšanas aizstāšana ar bitu nobīdi ir veids, kā optimizēt programmu. (Programmas optimizācija ir mēģinājums padarīt programmu ātrāku un efektīvāku.)

Datorprogrammēšanā simbols >> dažkārt tiek izmantots, lai parādītu bitu nobīdes operāciju. Java valodā mēs varam lūgt datoru izpildīt uzdevumu 19 ÷ 2 {\displaystyle 19\div 2}{\displaystyle 19\div 2} , rakstot 19 >> 2. Tas ir tas pats, kas rakstīt 19/2. Abi šie varianti mums dos atbildi 9. Problēma rodas, mēģinot atrisināt tādu uzdevumu kā - 4 ÷ 2 {\displaystyle -4\div 2}{\displaystyle -4\div 2} . Ja mēs Java valodā rakstām -3/2, dators mums atbildēs, ka atbilde ir -1. Bet, ja mēs mēģināsim uzrakstīt -3 >> 2, dators atbildēs, ka atbilde ir -2. Tas notiks ikreiz, kad mēs mēģināsim veikt bitu nobīdes operāciju ar vienu negatīvu skaitli. Iemesls tam ir sarežģīts, un tas ir saistīts ar to, kā dators saglabā negatīvos bināros skaitļus.

Lai gan datoros dalīšanu visātrāk var veikt, izmantojot bitu nobīdes operācijas, lielākā daļa datora kodu to nedara šādā veidā. Tas ir tāpēc, ka programmētāji vēlas, lai viņu programmas būtu pārnesamas un lasāmas. Pārnēsājamība nozīmē, ka programmu var palaist dažādos datoros un operētājsistēmās. Lasāms nozīmē, ka pirmkods ir viegli lasāms un saprotams. Lielākoties kompilators (programma, kas izmaina pirmkodu datoram saprotamās 0 un 1 vienībās) dalījumu bitu nobīdēs mainīs automātiski.

Jautājumi un atbildes

J: Kas matemātikā ir dalīšana ar divi?


A: Dalīšana ar divi matemātikā ir noteikta skaitļa dalīšana divās vienādās daļās.

J: Vai senie ēģiptieši uzskatīja, ka dalīšana ar divi ir tas pats, kas parastā dalīšana?


A: Nē, senie ēģiptieši uzskatīja, ka dalīšana ar divi ir atšķirīga darbība no parastās dalīšanas.

Vai daži matemātiķi līdz pat 16. gadsimtam uzskatīja, ka dalīšana ar divi ir atšķirīga darbība no regulārās dalīšanas?


A: Jā, daži matemātiķi līdz pat 16. gadsimtam uzskatīja, ka dalīšana ar divi ir atšķirīga darbība no parastās dalīšanas.

J: Kā dalīšana ar divi tiek veikta mūsdienu datorprogrammēšanā?


A: Mūsdienu datorprogrammēšanā dalīšana ar divi ir īpaši apstrādāta.

J: Ar kādiem citiem nosaukumiem ir pazīstama dalīšana ar divi?


A: Dalīšana ar divi ir pazīstama arī ar tādiem nosaukumiem kā dalīšana uz pusēm, mediācija un dimidiācija.

J: Vai dalīšanu ar divi var veikt ar jebkuru skaitli?


A: Jā, dalīšanu ar divi var veikt ar jebkuru skaitli neatkarīgi no tā, vai tas ir pāra vai nepāra skaitlis.

J: Kāpēc dalīšana ar divi ir svarīga?


A: Dalīšana ar divi ir svarīga matemātikā, jo tā ir aritmētiska pamatdarbība, ko izmanto daudzās dažādās jomās, piemēram, datorprogrammēšanā, inženierzinātnēs un arhitektūrā.


Meklēt
AlegsaOnline.com - 2020 / 2025 - License CC3