21.10.2019

Tiešsaistē konvertējiet uz dažādām numuru sistēmām. Ātri konvertējiet skaitli no decimālskaitļu sistēmas uz bināro


Apskatīsim vienu no tiem svarīgākajām tēmām datorzinātnēs - . IN skolas mācību programma tas tiek atklāts diezgan “pieticīgi”, visticamāk, tam atvēlēto stundu trūkuma dēļ. Zināšanas par šo tēmu, īpaši par skaitļu sistēmu tulkošana, ir priekšnoteikums veiksmīgai darbībai nokārtojot vienoto valsts eksāmenu un uzņemšana augstskolās attiecīgajās fakultātēs. Zemāk mēs detalizēti apspriežam tādus jēdzienus kā pozicionālās un nepozicionālās skaitļu sistēmas, ir doti šo skaitļu sistēmu piemēri, ir parādīti noteikumi veselu decimālskaitļu, pareizas decimāldaļskaitļu un jauktu decimālo skaitļu konvertēšanai jebkurā citā skaitļu sistēmā, skaitļu konvertēšanai no jebkuras skaitļu sistēmas decimāldaļās, oktālo un heksadecimālo skaitļu sistēmu pārvēršanai bināros skaitļos. sistēma. Uz eksāmeniem iekšā lielos daudzumos Par šo tēmu ir problēmas. Spēja tos atrisināt ir viena no prasībām pretendentiem. Drīzumā: Katrai sadaļas tēmai papildus detalizētam teorētiskajam materiālam gandrīz visi iespējamie varianti uzdevumus Priekš pašmācība. Turklāt jums būs iespēja pilnīgi bez maksas lejupielādēt no failu mitināšanas pakalpojuma gatavus detalizētus risinājumus šīm problēmām, ilustrējot dažādos veidos iegūt pareizo atbildi.

pozicionālās skaitļu sistēmas.

Nepozicionālās skaitļu sistēmas- skaitļu sistēmas, kurās cipara kvantitatīvā vērtība nav atkarīga no tā atrašanās vietas ciparā.

Nepozicionālās skaitļu sistēmas ietver, piemēram, romiešu, kur ciparu vietā ir latīņu burti.

es 1 (viens)
V 5 (pieci)
X 10 (desmit)
L 50 (piecdesmit)
C 100 (viens simts)
D 500 (pieci simti)
M 1000 (tūkstoši)

Šeit burts V apzīmē 5 neatkarīgi no tā atrašanās vietas. Tomēr ir vērts pieminēt, ka, lai gan romiešu skaitļu sistēma ir klasisks nepozicionālās skaitļu sistēmas piemērs, tā nav pilnīgi nepozicionāla, jo No tā tiek atņemts mazākais skaitlis lielākā priekšā:

IL 49 (50-1=49)
VI 6 (5+1=6)
XXI 21 (10+10+1=21)
MI 1001 (1000+1=1001)

pozicionālās skaitļu sistēmas.

Pozīciju skaitļu sistēmas- skaitļu sistēmas, kurās cipara kvantitatīvā vērtība ir atkarīga no tā atrašanās vietas ciparā.

Piemēram, ja mēs runājam par decimālo skaitļu sistēmu, tad ciparā 700 skaitlis 7 nozīmē “septiņi simti”, bet tas pats skaitlis ciparā 71 nozīmē “septiņus desmitus”, bet ciparā 7020 - “septiņi tūkstoši”. .

Katrs pozicionālā skaitļu sistēma ir savs bāze. Par bāzi tiek izvēlēts naturāls skaitlis, kas ir lielāks vai vienāds ar divi. Tas ir vienāds ar noteiktā skaitļu sistēmā izmantoto ciparu skaitu.

    Piemēram:
  • Binārs- pozicionālā skaitļu sistēma ar 2. bāzi.
  • Kvartārs- pozicionālā skaitļu sistēma ar 4. bāzi.
  • Pieckārtīgi- pozicionālā skaitļu sistēma ar 5. bāzi.
  • Octal- pozicionālā skaitļu sistēma ar 8. bāzi.
  • Heksadecimāls- pozicionālā skaitļu sistēma ar 16. bāzi.

Lai veiksmīgi atrisinātu problēmas par tēmu “Ciparu sistēmas”, studentam no galvas jāzina bināro, decimālo, oktālo un heksadecimālo skaitļu atbilstība līdz 16 10:

10 s/s 2 s/s 8 s/s 16 s/s
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10

Ir noderīgi zināt, kā šajās skaitļu sistēmās tiek iegūti skaitļi. Jūs varat uzminēt, ka oktālā, heksadecimālā, trīskāršā un citos pozicionālās skaitļu sistēmas viss notiek tāpat kā decimālajā sistēmā, pie kuras esam pieraduši:

Numuram tiek pievienots viens un tiek iegūts jauns numurs. Ja vienību cipars kļūst vienāds ar bāzi skaitļu sistēma, mēs palielinām desmitnieku skaitu par 1 utt.

Šī “pāreja no viena” ir tas, kas biedē lielāko daļu studentu. Patiesībā viss ir pavisam vienkārši. Pāreja notiek, ja vienību cipars kļūst vienāds ar numuru bāze, mēs palielinām desmitnieku skaitu par 1. Daudzi, atceroties veco labo decimālo sistēmu, momentā ir neizpratnē par cipariem šajā pārejā, jo decimālskaitļi un, piemēram, binārie desmiti ir dažādas lietas.

Līdz ar to atjautīgi studenti izstrādā “savas metodes” (pārsteidzoši... strādājot), aizpildot, piemēram, patiesības tabulas, kuru pirmās kolonnas (mainīgās vērtības) faktiski ir aizpildītas ar bināriem skaitļiem augošā secībā.

Piemēram, aplūkosim skaitļu ievadīšanu oktālā sistēma: Pirmajam skaitlim (0) pievienojam 1, iegūstam 1. Tad pievienojam 1 pret 1, iegūstam 2 utt. uz 7. Ja saskaitām vienu ar 7, iegūstam skaitli, kas vienāds ar skaitļu sistēmas bāzi, t.i. 8. Tad jums jāpalielina desmitnieku vieta par vienu (mēs iegūstam oktālo desmit - 10). Tālāk, acīmredzot, ir skaitļi 11, 12, 13, 14, 15, 16, 17, 20, ..., 27, 30, ..., 77, 100, 101...

Noteikumi konvertēšanai no vienas skaitļu sistēmas uz citu.

1 Veselu decimālskaitļu konvertēšana uz jebkuru citu skaitļu sistēmu.

Skaitlis jādala ar jauna numuru sistēmas bāze. Pirmais dalījuma atlikums ir jaunā numura pirmais mazais cipars. Ja dalījuma koeficients ir mazāks vai vienāds ar jauno bāzi, tad tas (koeficients) atkal jāsadala ar jauno bāzi. Dalīšana ir jāturpina, līdz iegūstam koeficientu, kas mazāks par jauno bāzi. Šis ir jaunā skaitļa augstākais cipars (jāatceras, ka, piemēram, heksadecimālajā sistēmā pēc 9 ir burti, t.i., ja atlikums ir 11, tas jāraksta kā B).

Piemērs ("dalīšana ar stūri"): pārveidosim skaitli 173 10 oktālo skaitļu sistēmā.


Tādējādi 173 10 = 255 8

2. Regulāru decimāldaļskaitļu pārvēršana jebkurā citā skaitļu sistēmā.

Skaitlis jāreizina ar jauno skaitļu sistēmas bāzi. Cipars, kas kļuvis par veselo skaitļa daļu, ir jaunā skaitļa daļdaļas augstākais cipars. lai iegūtu nākamo ciparu, iegūtā reizinājuma daļējā daļa atkal jāreizina ar jaunu skaitļu sistēmas bāzi, līdz notiek pāreja uz visu daļu. Turpinām reizināšanu, līdz daļdaļa ir vienāda ar nulli vai līdz sasniedzam uzdevumā norādīto precizitāti (“... aprēķināt ar precizitāti, piemēram, divas zīmes aiz komata”).

Piemērs: pārveidosim skaitli 0,65625 10 oktālo skaitļu sistēmā.

Kalkulators ļauj pārvērst veselus un daļskaitļus no vienas skaitļu sistēmas citā. Ciparu sistēmas bāze nedrīkst būt mazāka par 2 un lielāka par 36 (10 cipari un 26 Latīņu burti galu galā). Ciparu garums nedrīkst pārsniegt 30 rakstzīmes. Lai ievadītu daļskaitļi izmantot simbolu. vai,. Lai pārvērstu skaitļus no vienas sistēmas citā, pirmajā laukā ievadiet sākotnējo skaitli, otrajā laukā - sākotnējās skaitļu sistēmas bāzi un trešajā laukā - tās skaitļu sistēmas bāzi, kurā vēlaties konvertēt skaitli, pēc tam noklikšķiniet uz pogas "Saņemt ierakstu".

Oriģinālais numurs rakstīts 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 36 35 - skaitļu sistēma.

Es gribu ierakstīt numuru 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 - skaitļu sistēma.

Saņemiet ierakstu

Tulkojumi pabeigti: 1237182

Skaitļu sistēmas

Skaitļu sistēmas ir sadalītas divos veidos: pozicionāls Un nav pozicionāls. Mēs izmantojam arābu sistēmu, tā ir pozicionāla, bet ir arī romiešu sistēma - tā nav pozicionāla. Pozicionālās sistēmās cipara pozīcija skaitļā unikāli nosaka šī skaitļa vērtību. To ir viegli saprast, aplūkojot kādu skaitli kā piemēru.

1. piemērs. Ņemsim skaitli 5921 decimālo skaitļu sistēmā. Numurēsim skaitli no labās puses uz kreiso, sākot no nulles:

Skaitli 5921 var uzrakstīt šādā formā: 5921 = 5000+900+20+1 = 5·10 3 +9·10 2 +2·10 1 +1·10 0 . Skaitlis 10 ir pazīme, kas nosaka skaitļu sistēmu. Dotā skaitļa pozīcijas vērtības tiek ņemtas par pakāpēm.

2. piemērs. Apsveriet īsto decimālskaitlis 1234.567. Numurēsim to, sākot no skaitļa nulles pozīcijas no decimālpunkta uz kreiso un labo pusi:

Skaitli 1234,567 var uzrakstīt šādā formā: 1234,567 = 1000+200+30+4+0,5+0,06+0,007 = 1·10 3 +2·10 2 +3·10 1 +4·10 0 +5·10 -1 + 6 · 10 -2 +7 · 10 -3 .

Skaitļu pārvēršana no vienas skaitļu sistēmas citā

Lielākā daļa vienkāršā veidā skaitļa pārvēršana no vienas skaitļu sistēmas citā nozīmē vispirms skaitli pārvērst decimālo skaitļu sistēmā un pēc tam iegūto rezultātu vajadzīgajā skaitļu sistēmā.

Skaitļu pārvēršana no jebkuras skaitļu sistēmas uz decimālo skaitļu sistēmu

Lai pārvērstu skaitli no jebkuras skaitļu sistēmas decimāldaļās, pietiek ar tā ciparu numurēšanu, sākot ar nulli (cipars pa kreisi no komata), līdzīgi kā 1. vai 2. piemērā. Atradīsim ciparu reizinājumu summu. no skaitļa pēc skaitļu sistēmas bāzes līdz šī cipara pozīcijas pakāpei:

1. Konvertējiet skaitli 1001101.1101 2 uz decimālo skaitļu sistēmu.
Risinājums: 10011.1101 2 = 1,2 4 +0,2 3 +0,2 2 +1,2 1 +1,2 0 +1,2 -1 +1,2 -2 +0,2 -3 +1,2 - 4 = 16+2+1+0,5+0,25+0,0625 = 19,8125 10
Atbilde: 10011.1101 2 = 19.8125 10

2. Pārvērtiet skaitli E8F.2D 16 uz decimālo skaitļu sistēmu.
Risinājums: E8F.2D 16 = 14·16 2 +8·16 1 +15·16 0 +2·16 -1 +13·16 -2 = 3584+128+15+0,125+0,05078125 = 3727,17578125 10
Atbilde: E8F.2D 16 = 3727.17578125 10

Skaitļu pārvēršana no decimālskaitļu sistēmas uz citu skaitļu sistēmu

Lai pārvērstu skaitļus no decimālskaitļu sistēmas uz citu skaitļu sistēmu, skaitļa veselās un daļskaitļu daļas ir jāpārvērš atsevišķi.

Skaitļa veselas daļas pārvēršana no decimālskaitļu sistēmas uz citu skaitļu sistēmu

Vesela skaitļa daļa tiek pārvērsta no decimālās skaitļu sistēmas uz citu skaitļu sistēmu, secīgi dalot skaitļa veselo skaitļu daļu ar skaitļu sistēmas bāzi, līdz tiek iegūta vesela atlikuma, kas ir mazāka par skaitļu sistēmas bāzi. Tulkošanas rezultāts būs atlikuma ieraksts, sākot ar pēdējo.

3. Pārvērtiet skaitli 273 10 uz oktālo skaitļu sistēmu.
Risinājums: 273 / 8 = 34 un atlikums 1. 34 / 8 = 4 un atlikums 2. 4 ir mazāks par 8, tāpēc aprēķins ir pabeigts. Ieraksts no atlikumiem izskatīsies šādi: 421
Pārbaude: 4·8 2 +2·8 1 +1·8 0 = 256+16+1 = 273 = 273, rezultāts ir vienāds. Tas nozīmē, ka tulkojums tika veikts pareizi.
Atbilde: 273 10 = 421 8

Apskatīsim parasto decimāldaļskaitļu tulkošanu dažādās skaitļu sistēmās.

Skaitļa daļējās daļas pārvēršana no decimālskaitļu sistēmas uz citu skaitļu sistēmu

Atgādināsim, ka pareizi decimālzīme sauca reāls skaitlis ar nulles vesela skaitļa daļu. Lai šādu skaitli pārvērstu skaitļu sistēmā ar bāzi N, skaitlis secīgi jāreizina ar N, līdz daļēja daļa nonāk līdz nullei vai tiek iegūts nepieciešamais ciparu skaits. Ja reizināšanas laikā tiek iegūts skaitlis ar veselu skaitļa daļu, kas nav nulle, tad veselā skaitļa daļa netiek ņemta vērā, jo tā tiek secīgi ievadīta rezultātā.

4. Pārvērtiet skaitli 0,125 10 uz bināro skaitļu sistēmu.
Risinājums: 0,125·2 = 0,25 (0 ir vesela skaitļa daļa, kas kļūs par rezultāta pirmo ciparu), 0,25·2 = 0,5 (0 ir rezultāta otrais cipars), 0,5·2 = 1,0 (1 ir trešais cipars no rezultāta, un tā kā daļējā daļa ir nulle , tad tulkojums ir pabeigts).
Atbilde: 0.125 10 = 0.001 2

Metodes skaitļu pārvēršanai no vienas skaitļu sistēmas citā.

Skaitļu pārvēršana no vienas pozīcijas skaitļu sistēmas citā: veselu skaitļu konvertēšana.

Lai pārvērstu veselu skaitli no vienas skaitļu sistēmas ar bāzi d1 uz citu ar bāzi d2, šis skaitlis un iegūtie koeficienti ir secīgi jāsadala ar jaunās sistēmas bāzi d2, līdz iegūstat koeficientu, kas ir mazāks par bāzi d2. Pēdējais koeficients ir skaitļa lielākais cipars jauna sistēma skaitļi ar bāzi d2 un skaitļi pēc tam ir dalīšanas atlikumi, kas rakstīti apgrieztā to saņemšanas secībā. Veiciet aritmētiskās darbības skaitļu sistēmā, kurā ir uzrakstīts tulkojamais skaitlis.

Piemērs 1. Pārvērtiet skaitli 11(10) uz bināro skaitļu sistēmu.

Atbilde: 11(10)=1011(2).

2. piemērs. Pārvērtiet skaitli 122(10) oktālo skaitļu sistēmā.


Atbilde: 122(10)=172(8).

3. piemērs. Pārvērtiet skaitli 500(10) par heksadecimālo skaitļu sistēmu.


Atbilde: 500(10)=1F4(16).

Skaitļu pārvēršana no vienas pozicionālās skaitļu sistēmas citā: pareizu daļskaitļu pārvēršana.

Lai pārvērstu pareizu daļskaitli no skaitļu sistēmas ar bāzi d1 uz sistēmu ar bāzi d2, ir nepieciešams secīgi reizināt sākotnējo daļu un iegūto reizinājumu daļdaļas ar jaunās skaitļu sistēmas bāzi d2. Pareizā skaitļa daļa jaunajā skaitļu sistēmā ar bāzi d2 tiek veidota iegūto reizinājumu veselu skaitļu daļu veidā, sākot no pirmās.
Ja tulkojuma rezultātā tiek iegūta daļa bezgalīgas vai atšķirīgas sērijas veidā, procesu var pabeigt, kad ir sasniegta vajadzīgā precizitāte.

Tulkojot jauktus skaitļus, ir nepieciešams atsevišķi pārtulkot veselo skaitļu un daļskaitļu daļas jaunā sistēmā saskaņā ar veselo skaitļu un pareizu daļskaitļu tulkošanas noteikumiem un pēc tam apvienot abus rezultātus vienā jauktā skaitļā jaunajā skaitļu sistēmā.

Piemērs 1. Pārvērtiet skaitli 0,625(10) uz bināro skaitļu sistēmu.


Atbilde: 0,625(10)=0,101(2).

Piemērs 2. Pārvērtiet skaitli 0,6(10) oktālo skaitļu sistēmā.


Atbilde: 0,6(10)=0,463(8).

2. piemērs. Pārvērtiet skaitli 0,7(10) uz heksadecimālo skaitļu sistēmu.


Atbilde: 0,7(10)=0,B333(16).

Konvertējiet bināros, oktālos un heksadecimālos skaitļus decimālo skaitļu sistēmā.

Lai pārvērstu skaitli no P-ary sistēmas uz decimāldaļu, jums jāizmanto šāda paplašināšanas formula:
аnan-1…а1а0=аnPn+ аn-1Pn-1+…+ а1P+a0.

Piemērs 1. Pārvērtiet skaitli 101.11(2) par decimālo skaitļu sistēmu.

Atbilde: 101.11(2)= 5.75(10) .

Piemērs 2. Pārvērtiet skaitli 57.24(8) par decimālo skaitļu sistēmu.

Atbilde: 57.24(8) = 47.3125(10) .

3. piemērs. Pārvērtiet skaitli 7A,84(16) par decimālo skaitļu sistēmu.

Atbilde: 7A.84(16)= 122.515625(10) .


Astotnieku un heksadecimālo skaitļu pārvēršana binārajā skaitļu sistēmā un otrādi.

Lai pārvērstu skaitli no oktālo skaitļu sistēmas uz bināro, katrs šī skaitļa cipars ir jāraksta kā trīsciparu binārs skaitlis (triāde).

Piemērs: ierakstiet skaitli 16.24(8) binārajā skaitļu sistēmā.


Atbilde: 16.24(8)= 1110.0101(2) .

Lai bināro skaitli pārvērstu atpakaļ oktālo skaitļu sistēmā, sākotnējais skaitlis ir jāsadala triādēs pa kreisi un pa labi no komata un katra grupa jāatspoguļo ar ciparu oktālo skaitļu sistēmā. Ekstrēmās nepilnīgās triādes tiek papildinātas ar nullēm.

Piemērs: ierakstiet skaitli 1110.0101(2) oktālo skaitļu sistēmā.


Atbilde: 1110.0101(2)= 16.24(8) .

Lai pārvērstu skaitli no heksadecimālās skaitļu sistēmas uz bināro sistēmu, katrs šī skaitļa cipars ir jāraksta kā četrciparu binārs skaitlis (tetrads).

Piemērs: ierakstiet skaitli 7A,7E(16) binārajā skaitļu sistēmā.


Atbilde: 7A,7E(16)= 1111010.0111111(2) .

Piezīme: sākuma nulles pa kreisi veseliem skaitļiem un labajā pusē daļskaitļiem netiek rakstītas.

Lai bināro skaitli pārvērstu atpakaļ heksadecimālajā skaitļu sistēmā, sākotnējais skaitlis ir jāsadala tetradēs pa kreisi un pa labi no komata un katra grupa jāatspoguļo ar ciparu heksadecimālajā skaitļu sistēmā. Ekstrēmās nepilnīgās triādes tiek papildinātas ar nullēm.

Piemērs: ierakstiet skaitli 1111010.0111111(2) heksadecimālajā skaitļu sistēmā.

Lai ātri pārvērstu skaitļus no decimālskaitļu sistēmas uz bināro sistēmu, jums ir jābūt labām zināšanām par skaitļiem “2 uz pakāpju”. Piemēram, 2 10 =1024 utt. Tas ļaus jums burtiski dažu sekunžu laikā atrisināt dažus tulkošanas piemērus. Viens no šiem uzdevumiem ir Problēma A1 no USE demonstrācijas 2012. Protams, var paiet ilgs un nogurdinošs laiks, lai dalītu skaitli ar “2”. Bet labāk ir izlemt citādi, ietaupot vērtīgo laiku eksāmenam.

Metode ir ļoti vienkārša. Tās būtība ir šāda: Ja skaitlis, kas jāpārvērš no decimālās sistēmas, ir vienāds ar skaitli "2 uz jaudu", tad šis skaitlis binārajā sistēmā satur nulles, kas vienādas ar jaudu. Mēs pievienojam "1" pirms šīm nullēm.

  • Pārveidosim skaitli 2 no decimāldaļas. 2=2 1 . Tāpēc binārajā sistēmā skaitlis satur 1 nulle. Mēs ieliekam "1" priekšā un iegūstam 10 2.
  • Pārveidosim 4 no decimāldaļas. 4=2 2 . Tāpēc binārajā sistēmā skaitlis satur 2 nulles. Mēs ieliekam "1" priekšā un iegūstam 100 2.
  • Pārveidosim 8 no decimāldaļas. 8=2 3 . Tāpēc binārajā sistēmā skaitlis satur 3 nulles. Mēs ieliekam "1" priekšā un iegūstam 1000 2.


Līdzīgi citiem skaitļiem "2 uz jaudu".

Ja tulkojamais numurs ir mazāks skaitlis“2 uz jaudu” ar 1, tad binārajā sistēmā šis skaitlis sastāv tikai no vienībām, kuru skaits ir vienāds ar jaudu.

  • Pārveidosim 3 no decimāldaļas. 3=2 2 -1. Tāpēc binārajā sistēmā skaitlis satur 2 vienus. Mēs iegūstam 112.
  • Pārveidosim 7 no decimāldaļas. 7=2 3 -1. Tāpēc binārajā sistēmā skaitlis satur 3 vienus. Mēs saņemam 111 2.

Attēlā kvadrāti norāda skaitļa bināro attēlojumu, un rozā krāsa kreisajā pusē norāda decimāldaļu.


Tulkojums ir līdzīgs citiem skaitļiem “2 līdz jaudai-1”.

Ir skaidrs, ka skaitļu no 0 līdz 8 tulkošanu var veikt ātri vai dalot, vai vienkārši zināt no galvas to attēlojumu binārajā sistēmā. Es sniedzu šos piemērus, lai jūs saprastu principu šī metode un izmantoja to, lai tulkotu "iespaidīgākus skaitļus", piemēram, lai tulkotu skaitļus 127,128, 255, 256, 511, 512 utt.

Jūs varat saskarties ar šādām problēmām, ja jums ir jātulko skaitlis, nevis vienāds ar skaitli"2 uz varu", bet tuvu tai. Tas var būt lielāks vai mazāks par 2 jaudu. Atšķirībai starp tulkoto skaitli un skaitli "2 līdz jaudai" jābūt mazai. Piemēram, līdz 3. Skaitļu no 0 līdz 3 attēlojums binārajā sistēmā vienkārši ir jāzina bez tulkojuma.

Ja skaitlis ir lielāks par , atrisiniet šādi:

Vispirms mēs pārvēršam skaitli “2 uz jaudu” binārajā sistēmā. Un tad mēs pievienojam atšķirību starp skaitli “2 līdz jaudai” un skaitli, kas tiek tulkots.

Piemēram, konvertēsim 19 no decimālās sistēmas. Tas ir par 3 lielāks par skaitli "2 līdz jaudai".

16=2 4 . 16 10 =10000 2 .

3 10 =11 2 .

19 10 =10000 2 +11 2 =10011 2 .

Ja skaitlis ir mazāks par skaitli "2 līdz jaudai", tad ērtāk ir izmantot skaitli "2 līdz jaudai-1". Mēs to risinām šādi:

Vispirms skaitli “2” pārvēršam par jaudu-1 binārajā sistēmā. Un tad mēs no tā atņemam starpību starp skaitli “2 līdz 1 pakāpei” un tulkojamo skaitli.

Piemēram, konvertēsim 29 no decimālās sistēmas. Tas ir par 2 lielāks par skaitli “2 līdz jaudai-1”. 29=31-2.

31 10 =11111 2 .

2 10 =10 2 .

29 10 =11111 2 -10 2 =11101 2

Ja starpība starp tulkojamo skaitli un skaitli "2 līdz jaudai" ir lielāka par trīs, tad varat sadalīt skaitli tā sastāvdaļās, pārvērst katru daļu binārajā sistēmā un pievienot.

Piemēram, konvertējiet skaitli 528 no decimālās sistēmas. 528=512+16. Mēs tulkojam 512 un 16 atsevišķi.
512=2 9 . 512 10 =1000000000 2 .
16=2 4 . 16 10 =10000 2 .
Tagad pievienosim to kolonnā:

Sveiki, vietnes apmeklētāj! Mēs turpinām pētīt IP tīkla slāņa protokolu un, precīzāk, tā versiju IPv4. No pirmā acu uzmetiena tēma binārie skaitļi un bināro skaitļu sistēma nav nekāda sakara ar IP protokolu, bet ja atceramies, ka datori strādā ar nullēm un vieniniekiem, tad izrādās, ka binārā sistēma un tās izpratne ir pamatu pamats, mums vajag iemācieties pārvērst skaitļus no binārajiem uz decimāldaļām un otrādi: no decimāldaļas uz bināru. Tas mums palīdzēs labāk izprast IP protokolu, kā arī mainīga garuma tīkla masku darbības principu. Sāksim!

Ja datortīklu tēma jums ir interesanta, varat lasīt citus kursu ierakstus.

4.4.1. Ievads

Pirms sākam, ir vērts paskaidrot, kāpēc tīkla inženierim ir nepieciešama šī tēma. Lai gan par tā nepieciešamību varējāt pārliecināties, kad mēs runājām, var teikt, ka ir IP kalkulatori, kas ievērojami atvieglo IP adrešu piešķiršanu, nepieciešamo apakštīkla/tīkla masku aprēķinu un tīkla numura un resursdatora numura noteikšanu IP adresē. Tieši tā, bet IP kalkulators ne vienmēr ir pa rokai, tas ir iemesls numur viens. Otrais iemesls ir tas, ka Cisco eksāmenos viņi jums nedos IP kalkulatoru, un viss. jums būs jāpārveido IP adreses no decimāldaļas uz bināro uz papīra lapas, un nav nemaz tik maz jautājumu, kur tas tiek prasīts eksāmenā/eksāmenos CCNA sertifikāta iegūšanai, būtu žēl, ja eksāmens tiktu izgāzts tāda nieka dēļ. Un visbeidzot, bināro skaitļu sistēmas izpratne ļauj labāk izprast darbības principu.

Kopumā tīkla inženierim nav jāspēj savā galvā pārvērst skaitļus no bināriem uz decimālskaitļiem un otrādi. Turklāt reti kurš zina, kā to izdarīt garīgi; dažādu datoru tīklu kursu skolotāji galvenokārt ietilpst šajā kategorijā, jo viņi ar to pastāvīgi saskaras katru dienu. Bet, izmantojot papīra lapu un pildspalvu, jums vajadzētu iemācīties tulkot.

4.4.2. Decimālskaitļi un cipari, cipari skaitļos

Sāksim vienkārši un runāsim par binārajiem cipariem un skaitļiem, jūs zināt, ka skaitļi un skaitļi ir divas dažādas lietas. Skaitlis ir īpašs apzīmējuma simbols, un skaitlis ir abstrakts daudzuma apzīmējums. Piemēram, lai pierakstītu, ka uz rokas ir pieci pirksti, varam izmantot romiešu un arābu ciparus: V un 5. Šajā gadījumā pieci ir gan cipars, gan cipars. Un, piemēram, lai uzrakstītu skaitli 20, mēs izmantojam divus ciparus: 2 un 0.

Kopumā decimālo skaitļu sistēmā mums ir desmit cipari jeb desmit simboli (0,1,2,3,4,5,6,7,8,9), kurus kombinējot varam rakstīt dažādus skaitļus. Pēc kāda principa mēs vadāmies, izmantojot decimālo skaitļu sistēmu? Jā, viss ir ļoti vienkārši, mēs paceļam desmit vienā vai otrā pakāpē, piemēram, ņemsim skaitli 321. Kā to var uzrakstīt savādāk, piemēram: 3*10 2 +2*10 1 +1*10 0 . Tādējādi izrādās, ka skaitlis 321 apzīmē trīs ciparus:

  1. Cipars 3 apzīmē nozīmīgāko vietu jeb šajā gadījumā tā ir simtnieku vieta, pretējā gadījumā to skaitlis.
  2. Skaitlis 2 ir desmitnieku vietā, mums ir divi desmitnieki.
  3. Skaitlis viens attiecas uz vismazāk nozīmīgo ciparu.

Tas ir, šajā ierakstā divi nav tikai divi, bet divi desmiti vai divi reiz desmit. Un trīs nav tikai trīs, bet trīsreiz simts. Tiek iegūta šāda atkarība: katra nākamā cipara mērvienība ir desmit reizes lielāka par iepriekšējā, jo tas, kas ir 300, ir trīsreiz simts. Atkāpe no decimālo skaitļu sistēmas bija nepieciešama, lai būtu vieglāk saprast bināro sistēmu.

4.4.3 Binārie cipari un skaitļi, kā arī to ierakstīšana

Binārajā skaitļu sistēmā ir tikai divi cipari: 0 un 1. Tāpēc skaitļa rakstīšana binārajā sistēmā bieži ir daudz lielāka nekā decimālajā sistēmā. Izņemot skaitļus 0 un 1, nulle binārajā skaitļu sistēmā ir vienāda ar nulli decimālo skaitļu sistēmā, un tas pats attiecas uz vienu. Dažkārt, lai nesajuktu, kurā skaitļu sistēmā skaitlis ir rakstīts, tiek izmantoti apakšindeksi: 267 10, 10100 12, 4712 8. Skaitlis apakšindeksā norāda skaitļu sistēmu.

Simbolus 0b un & (ampersand) var izmantot, lai rakstītu bināros skaitļus: 0b10111, &111. Ja decimālajā skaitļu sistēmā, lai izrunātu skaitli 245, mēs izmantojam šo konstrukciju: divi simti četrdesmit pieci, tad binārajā skaitļu sistēmā, lai nosauktu skaitli, ir jāizrunā cipars no katra cipara, piemēram, skaitlis 1100 binārajā skaitļu sistēmā nav jāizrunā kā tūkstotis simts, bet kā viens, viens, nulle, nulle. Apskatīsim skaitļu rakstīšanu no 0 līdz 10 binārajā skaitļu sistēmā:

Es domāju, ka loģikai tagad vajadzētu būt skaidrai. Ja decimālo skaitļu sistēmā katram ciparam mums bija pieejamas desmit iespējas (no 0 līdz 9 ieskaitot), tad binārajā skaitļu sistēmā katrā no binārā skaitļa cipariem mums ir tikai divas iespējas: 0 vai 1.

Lai strādātu ar IP adresēm un apakštīkla maskām, mums ir nepieciešams tikai naturālie skaitļi binārajā skaitļu sistēmā, lai gan binārā sistēma ļauj rakstīt daļskaitļus un negatīvi skaitļi, bet mums tas nav vajadzīgs.

4.4.4. Skaitļu pārvēršana no decimālskaitļa uz bināru

Apskatīsim to labāk kā pārvērst skaitli no decimāldaļas uz bināru. Un šeit viss ir patiesībā ļoti, ļoti vienkārši, lai gan to ir grūti izskaidrot vārdos, tāpēc es to tūlīt pateikšu piemērs skaitļu konvertēšanai no decimāldaļas uz bināru. Ņemsim skaitli 61, lai pārvērstu binārajā sistēmā, šis skaitlis jādala ar divi un jāskatās, kāda ir dalījuma atlikusī daļa. Un dalīšanas rezultāts atkal tiek dalīts ar divi. Šajā gadījumā 61 ir dividende, mums vienmēr būs divi kā dalītājs, un mēs atkal dalām koeficientu (dalīšanas rezultātu) ar divi, turpinām dalīt, līdz koeficients satur 1, šī pēdējā vienība būs galējais kreisais cipars . Zemāk redzamais attēls to parāda.

Lūdzu, ņemiet vērā, ka skaitlis 61 nav 101111, bet 111101, tas ir, mēs rakstām rezultātu no beigām. Konkrēti pēdējā gadījumā nav jēgas dalīt vienu ar divi, jo šajā gadījumā tiek izmantota dalīšana ar veseliem skaitļiem, un ar šo pieeju tas izpaužas kā 4.4.2. attēlā.

Tas nav visvairāk ātrs veids skaitļa pārvēršana no bināra uz decimālu. Mums ir vairāki paātrinātāji. Piemēram, binārais skaitlis 7 ir rakstīts kā 111, skaitlis 3 kā 11 un skaitlis 255 kā 11111111. Visi šie gadījumi ir neticami vienkārši. Fakts ir tāds, ka skaitļi 8, 4 un 256 ir divi pakāpes, un skaitļi 7, 3 un 255 ir par vienu mazāki nekā šie skaitļi. Tātad skaitļiem, kas ir par vienu mazāki par skaitli, kas vienāds ar pakāpju divi, tiek piemērots vienkāršs noteikums: binārajā sistēmā šāds decimālskaitlis tiek rakstīts kā vienību skaits, kas vienāds ar pakāpju divi. Tā, piemēram, skaitlis 256 ir divi līdz astotajam posmam, tāpēc 255 ir rakstīts kā 11111111, un skaitlis 8 ir divi līdz trešajam posmam, un tas mums norāda, ka 7 binārajā skaitļu sistēmā tiks rakstīts kā 111. Nu, saprotiet, kā uzrakstīt 256, 4 un 8 binārajā skaitļu sistēmā arī nav grūti, vienkārši pievienojiet vienu: 256 = 11111111 + 1 = 100000000; 8 = 111 + 1 = 1000; 4 = 11 + 1 = 100.
Jebkuru rezultātu varat pārbaudīt, izmantojot kalkulatoru, un sākumā labāk to darīt.

Kā redzat, mēs vēl neesam aizmirsuši, kā sadalīt. Un tagad mēs varam doties tālāk.

4.4.5. Skaitļu pārvēršana no binārā uz decimālo

Skaitļu pārvēršana no bināra ir daudz vienkāršāka nekā konvertēšana no decimālskaitļa uz bināru. Kā tulkošanas piemēru izmantosim skaitli 11110. Pievērsiet uzmanību zemāk esošajai tabulai, kurā parādīts, cik jaudas jums jāpalielina divi, lai galu galā iegūtu decimālskaitli.

Lai no šī binārā skaitļa iegūtu decimālskaitli, katrs cipars ir jāreizina ar divi ar pakāpju un pēc tam jāpievieno reizināšanas rezultāti, to ir vieglāk parādīt:

1*2 4 +1*2 3 +1*2 2 +1*2 1 +0*2 0 = 16+8+4+2+0=30

Atvērsim kalkulatoru un pārliecināsimies, ka 30 decimālo skaitļu sistēmā ir 11110 binārajā.

Mēs redzam, ka viss tika izdarīts pareizi. No piemēra ir skaidrs, ka Skaitļa konvertēšana no bināra uz decimāldaļu ir daudz vienkāršāka nekā konvertēšana atpakaļ. Lai strādātu ar pārliecību, jums vienkārši jāatceras jaudas no diviem līdz 2 8. Skaidrības labad sniegšu tabulu.

Vairāk mums nevajag, jo maksimālais iespējamais skaits, ko var ierakstīt vienā baitā (8 biti vai astoņas binārās vērtības), ir 255, tas ir, katrā IP adreses vai IPv4 apakštīkla maskas oktetā maksimālā iespējamā vērtība ir 255. Ir lauki , kuros ir vērtības, kas lielākas par 255, bet mums tās nav jāaprēķina.

4.4.6. Bināro skaitļu saskaitīšana, atņemšana, reizināšana un citas darbības ar bināriem skaitļiem

Tagad apskatīsim operācijas, kuras var veikt ar bināriem skaitļiem. Sāksim ar vienkāršām aritmētiskām darbībām un tad pāriesim pie Būla algebras operācijām.

Bināro skaitļu pievienošana

Bināro skaitļu pievienošana nav tik sarežģīta: 1+0 =1; 1+1=0 (paskaidrojumu sniegšu vēlāk); 0+0=0. Šie bija vienkāršus piemērus kur tika izmantots tikai viens cipars, apskatīsim piemērus, kur ciparu skaits ir lielāks par vienu.
101+1101 decimālajā sistēmā ir 5 + 13 = 18. Skaitīsim kolonnā.

Rezultāts ir izcelts apelsīns, kalkulators saka, ka pareizi aprēķinājām, var pārbaudīt. Tagad paskatīsimies, kāpēc tā notika, jo sākumā rakstīju, ka 1+1=0, bet tas attiecas uz gadījumu, kad mums ir tikai viens cipars, gadījumos, kad ir vairāk par vienu ciparu, 1+1=10 (vai divi decimāldaļās), kas ir loģiski.

Tad paskatieties, kas notiek, mēs veicam papildinājumus pa cipariem no labās uz kreiso:

1. 1+1=10, ierakstiet nulli, un viens pāriet uz nākamo ciparu.

2. Nākamajā ciparā iegūstam 0+0+1=1 (šī vienība mums radās no saskaitīšanas rezultāta 1. solī).

4. Šeit mums ir vienība tikai otrajā ciparā, bet tā arī ir pārcelta uz šejieni, tātad 0+1+1 = 10.

5. Salīmējiet visu kopā: 10|0|1|0.

Ja ir slinkums kolonnā, tad skaitīsim šādi: 101011+11011 vai 43 + 27 = 70. Ko te darīt, bet paskatīsimies, jo neviens mums neliedz veikt pārvērtības, un mainīt vietas termini summu nemaina, binārajai skaitļu sistēmai šis noteikums ir arī būtisks.

  1. 101011 = 101000 + 11 = 101000 + 10 + 1 = 100000 + 1000 + 10 + 1.
  2. 11011 = 11000 + 10 + 1 = 10000 + 1000 + 10 + 1.
  3. 100000 + 10000 + (1000 +1000) + (10+10) + (1+1).
  4. 100000 + (10000 + 10000) + 100 + 10.
  5. 100000 + 100000 +110
  6. 1000000 + 110.
  7. 1000110.

Jūs varat pārbaudīt ar kalkulatoru, 1000110 binārā ir 70 decimāldaļās.

Bināro skaitļu atņemšana

Uzreiz piemērs viencipara skaitļu atņemšanai binārajā skaitļu sistēmā, mēs nerunājām par negatīviem skaitļiem, tāpēc mēs neņemam vērā 0-1: 1 - 0 = 1; 0 – 0 = 0; 1 – 1 = 0. Ja ir vairāk par vienu ciparu, tad arī viss ir vienkārši, nevajag pat nekādas ailes vai viltības: 110111 – 1000, tas ir tas pats, kas 55 – 8. Rezultātā mēs iegūstam 101111. Un sirds pārstāja pukstēt, no kurienes nāk mērvienība trešajā ciparā (numerācija no kreisās puses uz labo un sākot no nulles)? Tas ir vienkārši! Skaitļa 110111 otrajā ciparā ir 0, bet pirmajā ciparā ir 1 (ja pieņemam, ka ciparu numerācija sākas no 0 un iet no kreisās puses uz labo), bet ceturtā cipara vienību iegūst saskaitot divas trešā cipara vienības (jūs iegūstat sava veida virtuālos divus) un no tā Divniekiem mēs atņemam vienu, kas ir skaitļa 1000 nulles ciparā, un 2 - 1 = 1, un 1 ir derīgs cipars. binārajā skaitļu sistēmā.

Bināro skaitļu reizināšana

Mums atliek apsvērt bināro skaitļu reizināšanu, kas tiek realizēta, nobīdot vienu bitu pa kreisi. Bet vispirms apskatīsim viencipara reizināšanas rezultātus: 1*1 = 1; 1*0=0 0*0=0. Patiesībā viss ir vienkārši, tagad apskatīsim kaut ko sarežģītāku. Ņemsim skaitļus 101001 (41) un 1100 (12). Mēs reizināsim ar kolonnu.

Ja no tabulas nav skaidrs, kā tas notika, tad mēģināšu paskaidrot vārdos:

  1. Bināros skaitļus ir ērti reizināt kolonnā, tāpēc otro koeficientu izrakstām zem pirmā, ja skaitļiem ir atšķirīgs ciparu skaits, tad ērtāk būs, ja lielāks skaits būs virsū.
  2. Nākamais solis ir reizināt visus pirmā skaitļa ciparus ar otrā skaitļa zemāko ciparu. Mēs rakstām reizināšanas rezultātu zemāk; mums tas jāraksta tā, lai zem katra atbilstošā cipara tiktu ierakstīts reizināšanas rezultāts.
  3. Tagad mums jāreizina visi pirmā skaitļa cipari ar otrā skaitļa nākamo ciparu un jāraksta rezultāts vēl vienu rindiņu zemāk, bet šis rezultāts ir jāpārvieto par vienu ciparu pa kreisi; ja paskatās uz tabulu, šis ir otrā nulles secība no augšas.
  4. Tas pats ir jādara ar nākamajiem cipariem, katru reizi pārvietojot vienu ciparu pa kreisi, un, ja paskatās uz tabulu, varat teikt, ka viena šūna pa kreisi.
  5. Mums ir četri binārie skaitļi, kas tagad ir jāpievieno un jāsaņem rezultāts. Nesen apskatījām papildinājumu, problēmām nevajadzētu būt.

Kopumā reizināšanas darbība nav tik grūta, jums vienkārši ir nepieciešama neliela prakse.

Būla algebras darbības

Būla algebrā ir divi ļoti svarīgi jēdzieni: patiess un nepatiess, kuru ekvivalents binārajā skaitļu sistēmā ir nulle un viens. Būla algebras operatori paplašina pieejamo operatoru skaitu virs šīm vērtībām, apskatīsim tos.

Loģiskā UN vai UN darbība

Loģiskā UN vai UN darbība ir līdzvērtīga viencipara bināro skaitļu reizināšanai.

1 UN 1 = 1; 1 UN 0 = 1; 0 UN 0 = 0; 0 UN 1 = 0.

1 UN 1 = 1;

1 UN 0 = 1;

0 UN 0 = 0;

0 UN 1 = 0.

“Loģiskais UN” rezultāts būs viens tikai tad, ja abas vērtības ir vienādas ar vienu; visos citos gadījumos tas būs nulle.

Operācija "Loģiskais VAI" vai VAI

Operācija “Loģiskais VAI” jeb VAI darbojas pēc šāda principa: ja vismaz viena vērtība ir vienāda ar vienu, tad rezultāts būs viens.

1 VAI 1 = 1; 1 VAI 0 = 1; 0 VAI 1 = 1; 0 VAI 0 = 0.

1 VAI 1 = 1;

1 VAI 0 = 1;

0 VAI 1 = 1;

0 VAI 0 = 0.

Ekskluzīva VAI vai XOR darbība

Operācija "Exclusive OR" vai XOR dos mums rezultātu viens tikai tad, ja viens no operandiem ir vienāds ar vienu un otrais ir vienāds ar nulli. Ja abi operandi ir vienādi ar nulli, rezultāts būs nulle un pat tad, ja abi operandi ir vienādi ar vienu, rezultāts būs nulle.