21.10.2019

Konvertuokite į įvairias skaičių sistemas internete. Greitai konvertuokite skaičių iš dešimtainės skaičių sistemos į dvejetainę


Pažvelkime į vieną iš jų svarbiausiomis temomis informatikos srityje - . IN mokyklos mokymo programa jis atskleidžiamas gana „kukliai“, greičiausiai dėl tam skirtų valandų trūkumo. Žinios šia tema, ypač skaičių sistemų vertimas, yra būtina sėkmės sąlyga išlaikęs vieningą valstybinį egzaminą ir priėmimas į universitetus atitinkamuose fakultetuose. Žemiau mes išsamiai aptariame tokias sąvokas kaip pozicinės ir nepozicinės skaičių sistemos, pateikiami šių skaičių sistemų pavyzdžiai, pateikiamos sveikų dešimtainių skaičių, tinkamų dešimtainių trupmenų ir mišrių dešimtainių skaičių konvertavimo į bet kokią kitą skaičių sistemą, skaičių konvertavimo iš bet kurios skaičių sistemos į dešimtainę, aštuntainių ir šešioliktainių skaičių sistemų konvertavimo į dvejetainius skaičius taisyklės. sistema. Per egzaminus dideli kiekiaiŠioje temoje yra problemų. Gebėjimas juos išspręsti yra vienas iš reikalavimų pretendentams. Netrukus: Kiekvienai skyriaus temai, be išsamios teorinės medžiagos, beveik visi galimi variantai užduotissavarankiškas mokymasis. Be to, turėsite galimybę visiškai nemokamai atsisiųsti iš failų prieglobos paslaugos paruoštus išsamius šių problemų sprendimus, iliustruojančius įvairių būdų gauti teisingą atsakymą.

padėties skaičių sistemos.

Nepozicinės skaičių sistemos- skaičių sistemos, kuriose skaitmens kiekybinė reikšmė nepriklauso nuo jo vietos skaičiuje.

Nepozicinės skaičių sistemos apima, pavyzdžiui, romėnišką, kur vietoj skaičių yra lotyniškos raidės.

1 (vienas)
V 5 (penki)
X 10 (dešimt)
L 50 (penkiasdešimt)
C 100 (vienas šimtas)
D 500 (penki šimtai)
M 1000 (tūkstantis)

Čia raidė V reiškia 5, neatsižvelgiant į jos vietą. Tačiau verta paminėti, kad nors romėniška skaičių sistema yra klasikinis nepozicinės skaičių sistemos pavyzdys, ji nėra visiškai nepozicinė, nes Iš jo atimamas mažesnis skaičius prieš didesnį skaičių:

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

padėties skaičių sistemos.

Padėčių skaičių sistemos- skaičių sistemos, kuriose skaitmens kiekybinė reikšmė priklauso nuo jo vietos skaičiuje.

Pavyzdžiui, jei kalbame apie dešimtainę skaičių sistemą, tada skaičiuje 700 skaičius 7 reiškia „septynis šimtus“, tačiau tas pats skaičius skaičiuje 71 reiškia „septynias dešimtis“, o skaičiuje 7020 - „septyni tūkstančiai“. .

Kiekvienas padėties skaičių sistema turi savo bazę. Natūralusis skaičius, didesnis arba lygus dviem, pasirenkamas kaip pagrindas. Jis lygus tam tikroje skaičių sistemoje naudojamų skaitmenų skaičiui.

    Pavyzdžiui:
  • Dvejetainis- padėties skaičių sistema su 2 baze.
  • Kvarteras- padėties skaičių sistema su 4 baze.
  • Penkis kartus- padėties skaičių sistema su 5 pagrindu.
  • aštuntainis- padėties skaičių sistema su 8 baze.
  • Šešioliktainis- padėties skaičių sistema su 16 baze.

Norėdami sėkmingai išspręsti problemas tema „Skaičių sistemos“, studentas turi mintinai žinoti dvejetainių, dešimtainių, aštuntainių ir šešioliktainių skaičių atitiktį iki 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

Naudinga žinoti, kaip šiose skaičių sistemose gaunami skaičiai. Galite atspėti, kad aštuntainėje, šešioliktainėje, trejetainėje ir kt padėties skaičių sistemos viskas vyksta taip pat, kaip dešimtainėje sistemoje, prie kurios esame įpratę:

Prie numerio pridedamas vienas ir gaunamas naujas skaičius. Jei vienetų skaitmuo tampa lygus bazei skaičių sistema, dešimčių skaičių padidiname 1 ir t.t.

Šis „vieno perėjimas“ yra tai, kas gąsdina daugumą studentų. Tiesą sakant, viskas yra gana paprasta. Perėjimas įvyksta, jei vienetų skaitmuo tampa lygus skaičių bazė, dešimčių skaičių padidiname 1. Daugelis, prisimindami seną gerą dešimtainę sistemą, akimirksniu susipainioja dėl skaitmenų šiame perėjime, nes dešimtainis ir, pavyzdžiui, dvejetainis dešimtukas yra skirtingi dalykai.

Iš čia išradingi studentai kuria „savus metodus“ (keista... dirbančius), kai pildo, pavyzdžiui, tiesos lenteles, kurių pirmieji stulpeliai (kintamosios reikšmės) iš tikrųjų yra užpildyti dvejetainiais skaičiais didėjančia tvarka.

Pavyzdžiui, pažiūrėkime, kaip įvesti skaičius aštuontainė sistema: Prie pirmo skaičiaus (0) pridedame 1, gauname 1. Tada pridedame 1 prie 1, gauname 2 ir t.t. prie 7. Jei prie 7 pridėsime vieną, gausime skaičių lygų skaičių sistemos pagrindui, t.y. 8. Tada dešimties vietą reikia padidinti vienu (gauname aštuntąją dešimtuką - 10). Toliau, be abejo, yra skaičiai 11, 12, 13, 14, 15, 16, 17, 20, ..., 27, 30, ..., 77, 100, 101...

Konvertavimo iš vienos skaičių sistemos į kitą taisyklės.

1 Sveikųjų skaičių dešimtainių skaičių konvertavimas į bet kurią kitą skaičių sistemą.

Skaičius turi būti padalintas iš nauja numerių sistemos bazė. Pirmoji padalijimo dalis yra pirmasis mažiausias naujojo numerio skaitmuo. Jei padalijimo koeficientas yra mažesnis arba lygus naujajai bazei, tada jis (dalytuvas) vėl turi būti padalintas iš naujos bazės. Padalijimas turi būti tęsiamas tol, kol gausime koeficientą, mažesnį už naują bazę. Tai yra didžiausias naujojo skaičiaus skaitmuo (reikia atsiminti, kad, pavyzdžiui, šešioliktainėje sistemoje po 9 yra raidės, t. y. jei likusioji dalis yra 11, reikia rašyti kaip B).

Pavyzdys ("dalijimas pagal kampą"): paverskime skaičių 173 10 į aštuntainių skaičių sistemą.


Taigi 173 10 = 255 8

2 Įprastų dešimtainių trupmenų konvertavimas į bet kurią kitą skaičių sistemą.

Skaičius turi būti padaugintas iš naujos skaičių sistemos bazės. Skaičius, tapęs sveikąja dalimi, yra didžiausias naujojo skaičiaus trupmeninės dalies skaitmuo. norint gauti kitą skaitmenį, gautos sandaugos trupmeninę dalį vėl reikia padauginti iš naujos skaičių sistemos bazės, kol įvyks perėjimas prie visos dalies. Tęsiame dauginimą tol, kol trupmeninė dalis tampa nuliu, arba kol pasiekiame užduotyje nurodytą tikslumą („... skaičiuoti, pavyzdžiui, dviejų skaitmenų po kablelio tikslumu“).

Pavyzdys: paverskime skaičių 0,65625 10 į aštuntainių skaičių sistemą.

Skaičiuoklė leidžia konvertuoti sveikuosius ir trupmeninius skaičius iš vienos skaičių sistemos į kitą. Skaičių sistemos pagrindas negali būti mažesnis nei 2 ir didesnis nei 36 (10 skaitmenų ir 26 lotyniškos raidės juk). Skaičių ilgis neturi viršyti 30 simbolių. Norėdami įeiti trupmeniniai skaičiai naudoti simbolį. arba,. Norėdami konvertuoti skaičių iš vienos sistemos į kitą, pirmame lauke įveskite pradinį skaičių, antrame – pradinės skaičių sistemos pagrindą, o trečiame lauke – skaičių sistemos, į kurią norite konvertuoti skaičių, bazę, tada spustelėkite mygtuką „Gauti įrašą“.

Originalus numeris parašyta 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 - numerių sistema.

Noriu įrašyti numerį 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 - numerių sistema.

Gaukite įėjimą

Vertimai baigti: 1237182

Skaičių sistemos

Skaičių sistemos skirstomos į du tipus: pozicinis Ir ne pozicinis. Mes naudojame arabišką sistemą, ji yra pozicinė, bet yra ir romėniška sistema – ji nėra pozicinė. Padėties sistemose skaitmens padėtis skaičiuje vienareikšmiškai lemia to skaičiaus reikšmę. Tai lengva suprasti pažvelgus į kokį nors skaičių kaip pavyzdį.

1 pavyzdys. Paimkime skaičių 5921 dešimtainėje skaičių sistemoje. Sunumeruokime skaičių iš dešinės į kairę, pradedant nuo nulio:

Skaičius 5921 gali būti parašytas tokia forma: 5921 = 5000+900+20+1 = 5·10 3 +9·10 2 +2·10 1 +1·10 0 . Skaičius 10 yra charakteristika, nusakanti skaičių sistemą. Tam tikro skaičiaus padėties reikšmės laikomos galiomis.

2 pavyzdys. Apsvarstykite tikrąjį dešimtainis skaičius 1234.567. Sunumeruokime jį nuo nulinės skaičiaus padėties nuo kablelio į kairę ir dešinę:

Skaičius 1234,567 gali būti parašytas tokia forma: 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 .

Skaičių konvertavimas iš vienos skaičių sistemos į kitą

Dauguma paprastu būdu konvertuojant skaičių iš vienos skaičių sistemos į kitą, pirmiausia reikia konvertuoti skaičių į dešimtainę skaičių sistemą, o tada gautą rezultatą į reikiamą skaičių sistemą.

Skaičių konvertavimas iš bet kurios skaičių sistemos į dešimtainę skaičių sistemą

Norint konvertuoti skaičių iš bet kurios skaičių sistemos į dešimtainę, užtenka sunumeruoti jo skaitmenis, pradedant nuo nulio (skaitmuo, esantis kairėje nuo kablelio) panašiai kaip 1 arba 2 pavyzdžiuose. Raskime skaitmenų sandaugų sumą. skaičiaus pagal skaičių sistemos pagrindą iki šio skaitmens padėties laipsnio:

1. Konvertuokite skaičių 1001101.1101 2 į dešimtainę skaičių sistemą.
Sprendimas: 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
Atsakymas: 10011.1101 2 = 19.8125 10

2. Konvertuokite skaičių E8F.2D 16 į dešimtainę skaičių sistemą.
Sprendimas: 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
Atsakymas: E8F.2D 16 = 3727.17578125 10

Skaičių konvertavimas iš dešimtainės skaičių sistemos į kitą skaičių sistemą

Norint konvertuoti skaičius iš dešimtainės skaičių sistemos į kitą skaičių sistemą, sveikoji ir trupmeninė skaičiaus dalys turi būti konvertuojamos atskirai.

Sveikosios skaičiaus dalies konvertavimas iš dešimtainės skaičių sistemos į kitą skaičių sistemą

Sveikoji dalis paverčiama iš dešimtainės skaičių sistemos į kitą skaičių sistemą nuosekliai dalijant sveikąją skaičiaus dalį iš skaičių sistemos pagrindo, kol gaunama visa liekana, mažesnė už skaičių sistemos bazę. Vertimo rezultatas bus likusios dalies įrašas, pradedant nuo paskutinio.

3. Konvertuokite skaičių 273 10 į aštuntainių skaičių sistemą.
Sprendimas: 273 / 8 = 34 ir liekana 1. 34 / 8 = 4 ir likusioji dalis 2. 4 yra mažesnė nei 8, todėl skaičiavimas baigtas. Įrašas iš likučių atrodys taip: 421
Apžiūra: 4·8 2 +2·8 1 +1·8 0 = 256+16+1 = 273 = 273, rezultatas toks pat. Tai reiškia, kad vertimas atliktas teisingai.
Atsakymas: 273 10 = 421 8

Panagrinėkime taisyklingųjų dešimtainių trupmenų vertimą į įvairias skaičių sistemas.

Skaičiaus trupmeninės dalies konvertavimas iš dešimtainės skaičių sistemos į kitą skaičių sistemą

Priminsime, kad teisinga dešimtainis paskambino realusis skaičius su nuline sveikojo skaičiaus dalimi. Norint konvertuoti tokį skaičių į skaičių sistemą su baze N, reikia skaičių nuosekliai padauginti iš N, kol trupmeninė dalis bus lygi nuliui arba bus gautas reikiamas skaitmenų skaičius. Jei dauginant gaunamas skaičius, kurio sveikoji dalis yra kitokia nei nulis, tada į sveikąją dalį toliau neatsižvelgiama, nes ji nuosekliai įvedama į rezultatą.

4. Konvertuokite skaičių 0,125 10 į dvejetainę skaičių sistemą.
Sprendimas: 0,125 · 2 = 0,25 (0 yra sveikoji dalis, kuri taps pirmuoju rezultato skaitmeniu), 0,25 · 2 = 0,5 (0 yra antrasis rezultato skaitmuo), 0,5 · 2 = 1,0 (1 yra trečias skaitmuo rezultato, o kadangi trupmeninė dalis yra lygi nuliui , tada vertimas baigtas).
Atsakymas: 0.125 10 = 0.001 2

Skaičių konvertavimo iš vienos skaičių sistemos į kitą metodai.

Skaičių konvertavimas iš vienos pozicinių skaičių sistemos į kitą: sveikųjų skaičių konvertavimas.

Norėdami konvertuoti sveikąjį skaičių iš vienos skaičių sistemos su baze d1 į kitą su baze d2, turite nuosekliai padalyti šį skaičių ir gautus koeficientus iš naujos sistemos bazės d2, kol gausite koeficientą, mažesnį už bazę d2. Paskutinis koeficientas yra didžiausias skaičiaus skaitmuo nauja sistema skaičiai su baze d2, o po jo esantys skaičiai yra dalybos liekanos, parašytos atvirkštine jų gavimo tvarka. Atlikite aritmetines operacijas skaičių sistemoje, kurioje parašytas verčiamas skaičius.

1 pavyzdys. Konvertuokite skaičių 11(10) į dvejetainę skaičių sistemą.

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

2 pavyzdys. Konvertuokite skaičių 122(10) į aštuntainių skaičių sistemą.


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

3 pavyzdys. Konvertuokite skaičių 500(10) į šešioliktainę skaičių sistemą.


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

Skaičių konvertavimas iš vienos padėties skaičių sistemos į kitą: tinkamų trupmenų konvertavimas.

Norint paversti tinkamą trupmeną iš skaičių sistemos su baze d1 į sistemą su baze d2, reikia nuosekliai padauginti pradinę trupmeną ir gautų sandaugų trupmenines dalis iš naujos skaičių sistemos d2 bazės. Teisinga skaičiaus trupmena naujoje skaičių sistemoje su baze d2 formuojama gautų sandaugų sveikųjų dalių pavidalu, pradedant nuo pirmosios.
Jei vertimo rezultatas yra begalinės arba besiskiriančios serijos trupmena, procesas gali būti baigtas, kai pasiekiamas reikiamas tikslumas.

Verčiant mišrius skaičius, reikia atskirai išversti sveikąsias ir trupmenines dalis į naują sistemą pagal sveikųjų ir tinkamųjų trupmenų vertimo taisykles, o tada naujoje skaičių sistemoje abu rezultatus sujungti į vieną mišrų skaičių.

1 pavyzdys. Konvertuokite skaičių 0,625(10) į dvejetainę skaičių sistemą.


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

2 pavyzdys. Paverskite skaičių 0,6(10) į aštuntainių skaičių sistemą.


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

2 pavyzdys. Konvertuokite skaičių 0,7(10) į šešioliktainę skaičių sistemą.


Atsakymas: 0.7(10)=0.B333(16).

Konvertuokite dvejetainius, aštuntainius ir šešioliktainius skaičius į dešimtainę skaičių sistemą.

Norėdami konvertuoti skaičių iš P-ary sistemos į dešimtainį skaičių, turite naudoti šią išplėtimo formulę:
anan-1…а1а0=anPn+ аn-1Pn-1+…+ а1P+a0 .

1 pavyzdys. Konvertuokite skaičių 101.11(2) į dešimtainę skaičių sistemą.

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

2 pavyzdys. Paverskite skaičių 57.24(8) į dešimtainę skaičių sistemą.

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

3 pavyzdys. Paverskite skaičių 7A,84(16) į dešimtainę skaičių sistemą.

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


Aštuntainių ir šešioliktainių skaičių konvertavimas į dvejetainę skaičių sistemą ir atvirkščiai.

Norint paversti skaičių iš aštuntainių skaičių sistemos į dvejetainį, kiekvienas šio skaičiaus skaitmuo turi būti parašytas triženkliu dvejetainiu skaičiumi (triada).

Pavyzdys: dvejetainėje skaičių sistemoje įrašykite skaičių 16.24(8).


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

Norėdami paversti dvejetainį skaičių atgal į aštuntainių skaičių sistemą, turite padalyti pradinį skaičių į triadas kairėje ir dešinėje nuo kablelio ir kiekvieną grupę pavaizduoti aštuntainių skaičių sistemoje skaitmeniu. Ekstremalios nepilnos triados papildomos nuliais.

Pavyzdys: aštuntainių skaičių sistemoje parašykite skaičių 1110.0101(2).


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

Norėdami konvertuoti skaičių iš šešioliktainės skaičių sistemos į dvejetainę sistemą, kiekvieną šio skaičiaus skaitmenį turite parašyti kaip keturženklį dvejetainį skaičių (tetradą).

Pavyzdys: įrašykite skaičių 7A,7E(16) dvejetainėje skaičių sistemoje.


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

Pastaba: priekiniai nuliai kairėje sveikiesiems skaičiams ir dešinėje trupmenoms nerašomi.

Norėdami paversti dvejetainį skaičių atgal į šešioliktainę skaičių sistemą, turite padalyti pradinį skaičių į tetradas, esančias kairėje ir dešinėje nuo dešimtainio taško, ir kiekvieną grupę pavaizduoti skaitmeniu šešioliktainėje skaičių sistemoje. Ekstremalios nepilnos triados papildomos nuliais.

Pavyzdys: šešioliktaine skaičių sistema parašykite skaičių 1111010.0111111(2).

Norėdami greitai konvertuoti skaičius iš dešimtainės skaičių sistemos į dvejetainę sistemą, turite gerai žinoti skaičius „2 iki laipsnio“. Pavyzdžiui, 2 10 = 1024 ir kt. Tai leis jums per kelias sekundes išspręsti kai kuriuos vertimo pavyzdžius. Viena iš šių užduočių yra Problema A1 iš USE 2012 demonstracinės versijos. Žinoma, galite užtrukti ilgai ir nuobodžiai, kol padalysite skaičių iš „2“. Tačiau geriau nuspręsti kitaip, sutaupant brangaus egzamino laiko.

Metodas labai paprastas. Jo esmė tokia: jei skaičius, kurį reikia konvertuoti iš dešimtainės sistemos, yra lygus skaičiui „2 iki laipsnio“, tai šis skaičius dvejetainėje sistemoje turi skaičių nulių, lygų laipsniui. Prieš šiuos nulius pridedame „1“.

  • Paverskime skaičių 2 iš dešimtainės sistemos. 2 = 2 1 . Todėl dvejetainėje sistemoje skaičius turi 1 nulį. Mes dedame „1“ priešais ir gauname 10 2.
  • Paverskime 4 iš dešimtainės sistemos. 4 = 2 2 . Todėl dvejetainėje sistemoje skaičių sudaro 2 nuliai. Dedame „1“ priešais ir gauname 100 2.
  • Paverskime 8 iš dešimtainės sistemos. 8 = 2 3 . Todėl dvejetainėje sistemoje skaičių sudaro 3 nuliai. Dedame „1“ priešais ir gauname 1000 2.


Panašiai ir kitiems skaičiams „2 į galią“.

Jei verčiamas numeris yra mažesnis skaičius„2 iki galios“ iš 1, tada dvejetainėje sistemoje šis skaičius susideda tik iš vienetų, kurių skaičius lygus galiai.

  • Paverskime 3 iš dešimtainės sistemos. 3 = 2 2 -1. Todėl dvejetainėje sistemoje skaičių sudaro 2 vienetai. Gauname 112.
  • Paverskime 7 iš dešimtainės sistemos. 7 = 2 3 -1. Todėl dvejetainėje sistemoje skaičių sudaro 3 vienetai. Gauname 111 2.

Paveiksle kvadratai žymi dvejetainį skaičiaus atvaizdavimą, o kairėje – rožinės spalvos dešimtainį vaizdą.


Kitų skaičių „2 iki galios-1“ vertimas yra panašus.

Akivaizdu, kad skaičius nuo 0 iki 8 gali būti išverstas greitai arba dalijant, arba tiesiog mintinai žinoti jų atvaizdavimą dvejetainėje sistemoje. Pateikiau šiuos pavyzdžius, kad suprastumėte principą šis metodas ir naudojo jį „įspūdingesniems skaičiams“ išversti, pavyzdžiui, skaičiams 127,128, 255, 256, 511, 512 ir kt.

Gali kilti problemų, kai reikės išversti skaičių be lygus skaičiui„2 į galią“, bet arti jo. Jis gali būti didesnis arba mažesnis už 2 laipsnius. Skirtumas tarp išversto skaičiaus ir skaičiaus „2 iki galios“ turėtų būti nedidelis. Pavyzdžiui, iki 3. Skaičių nuo 0 iki 3 vaizdavimą dvejetainėje sistemoje tereikia žinoti be vertimo.

Jei skaičius didesnis nei , tai išspręsime taip:

Pirmiausia paverčiame skaičių „2 į galią“ į dvejetainę sistemą. Tada pridedame skirtumą tarp skaičiaus „2 iki galios“ ir verčiamo skaičiaus.

Pavyzdžiui, konvertuokime 19 iš dešimtainės sistemos. Jis yra didesnis už skaičių „2 iki laipsnio“ 3.

16=2 4 . 16 10 =10000 2 .

3 10 =11 2 .

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

Jei skaičius yra mažesnis už skaičių „2 iki galios“, patogiau naudoti skaičių „2 iki galios-1“. Mes tai išsprendžiame taip:

Pirmiausia paverčiame skaičių „2 į galią-1“ į dvejetainę sistemą. Tada iš jo atimame skirtumą tarp skaičiaus „2 iki 1 laipsnio“ ir verčiamo skaičiaus.

Pavyzdžiui, konvertuokime 29 iš dešimtainės sistemos. Jis didesnis už skaičių „2 iki galios-1“ 2. 29=31-2.

31 10 =11111 2 .

2 10 =10 2 .

29 10 =11111 2 -10 2 =11101 2

Jei skirtumas tarp verčiamo skaičiaus ir skaičiaus „2 iki laipsnio“ yra didesnis nei trys, tuomet galite suskaidyti skaičių į jo komponentus, konvertuoti kiekvieną dalį į dvejetainę sistemą ir pridėti.

Pavyzdžiui, konvertuokite skaičių 528 iš dešimtainės sistemos. 528=512+16. 512 ir 16 verčiame atskirai.
512=2 9 . 512 10 =1000000000 2 .
16=2 4 . 16 10 =10000 2 .
Dabar įtraukime jį į stulpelį:

Sveiki, svetainės lankytojai! Toliau tiriame IP tinklo sluoksnio protokolą, o tiksliau – jo versiją IPv4. Iš pirmo žvilgsnio tema dvejetainiai skaičiai ir dvejetainių skaičių sistema neturi nieko bendro su IP protokolu, bet jei prisiminsime, kad kompiuteriai dirba su nuliais ir vienetais, tada paaiškėja, kad dvejetainė sistema ir jos supratimas yra pagrindų pagrindas, mums reikia išmokite konvertuoti skaičius iš dvejetainių į dešimtainius ir atvirkščiai: nuo dešimtainio iki dvejetainio. Tai padės mums geriau suprasti IP protokolą, taip pat kintamo ilgio tinklo kaukių veikimo principą. Pradėkime!

Jei kompiuterių tinklų tema jus domina, galite paskaityti kitų kursų įrašus.

4.4.1 Įvadas

Prieš pradedant, verta paaiškinti, kodėl tinklo inžinieriui reikalinga ši tema. Nors kalbėdami apie jo reikalingumą galėjote įsitikinti, galima teigti, kad yra IP skaičiuotuvai, kurie labai palengvina IP adresų skyrimo, reikiamų potinklio/tinklo kaukių skaičiavimą ir tinklo numerio bei kompiuterio numerio IP adresu nustatymą. Tai tiesa, bet IP skaičiuoklė ne visada yra po ranka, tai yra priežastis numeris vienas. Antra priežastis yra ta, kad per Cisco egzaminus jie jums neduos IP skaičiuoklės ir viskas. turėsite atlikti IP adresų konvertavimą iš dešimtainio į dvejetainį ant popieriaus lapo, o klausimų kur to reikalaujama egzamine/egzaminuose CCNA sertifikatui gauti ne taip jau mažai, būtų gaila, jei egzaminas būtų neišlaikytas dėl tokios smulkmenos. Ir galiausiai, dvejetainių skaičių sistemos supratimas leidžia geriau suprasti veikimo principą.

Apskritai, tinklo inžinierius neprivalo savo galvoje konvertuoti skaičių iš dvejetainių į dešimtainius ir atvirkščiai. Be to, retai kas žino, kaip tai padaryti protiškai, įvairių kompiuterių tinklų kursų mokytojai daugiausia patenka į šią kategoriją, nes jie nuolat su tuo susiduria kiekvieną dieną. Tačiau turėdami popieriaus lapą ir rašiklį turėtumėte išmokti versti.

4.4.2 Dešimtainiai skaitmenys ir skaičiai, skaitmenys skaičiais

Pradėkime nuo paprasto ir pakalbėkime apie dvejetainius skaitmenis ir skaičius, žinote, kad skaičiai ir skaičiai yra du skirtingi dalykai. Skaičius yra specialus žymėjimo simbolis, o skaičius yra abstraktus kiekio žymėjimas. Pavyzdžiui, norėdami užrašyti, kad ant rankos turime penkis pirštus, galime naudoti romėniškus ir arabiškus skaitmenis: V ir 5. Šiuo atveju penki yra ir skaičius, ir skaitmuo. Ir, pavyzdžiui, norėdami parašyti skaičių 20, naudojame du skaitmenis: 2 ir 0.

Iš viso dešimtainėje skaičių sistemoje turime dešimt skaitmenų arba dešimt simbolių (0,1,2,3,4,5,6,7,8,9), kuriuos derindami galime rašyti skirtingus skaičius. Kokiu principu vadovaujamės naudodami dešimtainę skaičių sistemą? Taip, viskas labai paprasta, dešimt pakeliame į vieną ar kitą laipsnį, pavyzdžiui, paimkime skaičių 321. Kaip galima kitaip parašyti, taip: 3*10 2 +2*10 1 +1*10 0 . Taigi paaiškėja, kad skaičius 321 reiškia tris skaitmenis:

  1. Skaičius 3 reiškia reikšmingiausią vietą arba šiuo atveju tai yra šimto vieta, kitaip jų skaičius.
  2. Skaičius 2 yra dešimtukų vietoje, turime du dešimtukus.
  3. Skaičius vienas reiškia mažiausiai reikšmingą skaitmenį.

Tai reiškia, kad šiame įraše du yra ne tik du, o dvi dešimtys arba du kartus dešimt. Ir trys yra ne tik trys, o tris kartus šimtas. Gaunama tokia priklausomybė: kiekvieno kito skaitmens vienetas yra dešimt kartų didesnis už ankstesnio, nes tai, kas yra 300, yra tris kartus šimtas. Reikėjo nukrypti nuo dešimtainės skaičių sistemos, kad būtų lengviau suprasti dvejetainę sistemą.

4.4.3 Dvejetainiai skaitmenys ir skaičiai, taip pat jų įrašymas

Dvejetainėje skaičių sistemoje yra tik du skaitmenys: 0 ir 1. Todėl skaičiaus rašymas dvejetainėje sistemoje dažnai yra daug didesnis nei dešimtainėje sistemoje. Išskyrus skaičius 0 ir 1, nulis dvejetainėje skaičių sistemoje yra lygus nuliui dešimtainėje skaičių sistemoje, o tas pats pasakytina ir apie vienetą. Kartais, kad nesusipainiotų, kurioje skaičių sistemoje skaičius parašytas, naudojami subindeksai: 267 10, 10100 12, 4712 8. Skaičius subindekse nurodo skaičių sistemą.

Simboliai 0b ir & (ampersand) gali būti naudojami dvejetainiams skaičiams rašyti: 0b10111, &111. Jei dešimtainėje skaičių sistemoje, norėdami ištarti skaičių 245, naudojame šią konstrukciją: du šimtai keturiasdešimt penki, tai dvejetainėje skaičių sistemoje, norėdami pavadinti skaičių, turime ištarti skaitmenį iš kiekvieno skaitmens, pavyzdžiui, skaičius 1100 dvejetainėje skaičių sistemoje turi būti tariamas ne kaip tūkstantis vienas šimtas, o kaip vienas, vienas, nulis, nulis. Pažiūrėkime, kaip rašyti skaičius nuo 0 iki 10 dvejetainėje skaičių sistemoje:

Manau, kad dabar logika turėtų būti aiški. Jei dešimtainių skaičių sistemoje kiekvienam skaitmeniui turėjome dešimt parinkčių (nuo 0 iki 9 imtinai), tai dvejetainėje skaičių sistemoje kiekviename dvejetainio skaičiaus skaitmenyje turime tik dvi parinktis: 0 arba 1.

Norėdami dirbti su IP adresais ir potinklio kaukėmis, mums tereikia natūraliuosius skaičius dvejetainėje skaičių sistemoje, nors dvejetainėje sistemoje galima rašyti trupmenines ir neigiami skaičiai, bet mums to nereikia.

4.4.4 Skaičių konvertavimas iš dešimtainio į dvejetainį

Pažvelkime į tai geriau kaip konvertuoti skaičių iš dešimtainio į dvejetainį. O čia iš tikrųjų viskas labai labai paprasta, nors žodžiais ir sunku paaiškinti, tad tuoj pateiksiu skaičių konvertavimo iš dešimtainio į dvejetainį pavyzdys. Paimkime skaičių 61, norėdami konvertuoti į dvejetainę sistemą, turime padalyti šį skaičių iš dviejų ir pamatyti, kokia yra dalybos likutis. Ir padalijimo rezultatas vėl dalijamas iš dviejų. Šiuo atveju 61 yra dividendas, mes visada turėsime du kaip daliklį, o koeficientą (dalybos rezultatą) dar kartą padalijame iš dviejų, tęsiame dalijimą tol, kol dalinyje bus 1, šis paskutinis vienetas bus kairysis skaitmuo . Žemiau esantis paveikslėlis tai parodo.

Atkreipkite dėmesį, kad skaičius 61 yra ne 101111, o 111101, tai yra, mes rašome rezultatą nuo pabaigos. Konkrečiai pastaruoju atveju nėra prasmės dalyti vieną iš dviejų, nes šiuo atveju naudojamas sveikųjų skaičių padalijimas, o taikant šį metodą išeina kaip 4.4.2 pav.

Tai ne pati svarbiausia greitas būdas konvertuoti skaičių iš dvejetainio į dešimtainį. Turime keletą greitintuvų. Pavyzdžiui, skaičius 7 dvejetainiu būdu parašytas kaip 111, skaičius 3 – kaip 11, o skaičius 255 – kaip 11111111. Visi šie atvejai yra neįtikėtinai paprasti. Faktas yra tas, kad skaičiai 8, 4 ir 256 yra dviejų laipsniai, o skaičiai 7, 3 ir 255 yra vienu mažesniu už šiuos skaičius. Taigi skaičiams, kurie yra vienu mažesnis už skaičių, lygų dviejų laipsniui, galioja paprasta taisyklė: dvejetainėje sistemoje toks dešimtainis skaičius rašomas kaip vienetų skaičius, lygus dviejų laipsniui. Taigi, pavyzdžiui, skaičius 256 yra du iki aštuntosios laipsnio, todėl 255 rašomas kaip 11111111, o skaičius 8 yra du iki trečiojo laipsnio, ir tai mums sako, kad 7 dvejetainėje skaičių sistemoje bus parašytas kaip 111 Na, suprask, kaip parašyti 256, 4 ir 8 dvejetainėje skaičių sistemoje, tiesiog pridėkite vieną: 256 = 11111111 + 1 = 100000000; 8 = 111 + 1 = 1000; 4 = 11 + 1 = 100.
Galite patikrinti bet kurį savo rezultatą skaičiuotuvu ir geriau tai padaryti iš pradžių.

Kaip matote, mes dar nepamiršome, kaip skirstyti. O dabar galime judėti toliau.

4.4.5 Skaičių konvertavimas iš dvejetainių į dešimtainius

Konvertuoti skaičius iš dvejetainių yra daug lengviau nei konvertuoti iš dešimtainio į dvejetainį. Kaip vertimo pavyzdį naudosime skaičių 11110. Atkreipkite dėmesį į žemiau esančią lentelę, kurioje parodyta galia, iki kurios reikia padidinti du, kad galiausiai gautumėte dešimtainį skaičių.

Norėdami gauti dešimtainį skaičių iš šio dvejetainio skaičiaus, kiekvieną skaitmens skaičių turite padauginti iš dviejų ir pridėti daugybos rezultatus, kuriuos lengviau parodyti:

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

Atidarykime skaičiuotuvą ir įsitikinkime, kad 30 dešimtainėje skaičių sistemoje yra 11110 dvejetainėje.

Matome, kad viskas buvo padaryta teisingai. Iš pavyzdžio aišku, kad Konvertuoti skaičių iš dvejetainio į dešimtainį yra daug lengviau nei konvertuoti atgal. Norint dirbti užtikrintai, tereikia atsiminti galias nuo dviejų iki 28. Aiškumo dėlei pateiksiu lentelę.

Daugiau mums nereikia, nes didžiausias galimas skaičius, kurį galima įrašyti į vieną baitą (8 bitai arba aštuonios dvejetainės reikšmės), yra 255, tai yra, kiekviename IP adreso arba IPv4 potinklio kaukės oktete didžiausia galima reikšmė yra 255. Yra laukų , kuriuose yra dydžių, didesnių nei 255, bet mums jų skaičiuoti nereikia.

4.4.6 Dvejetainių skaičių sudėjimas, atėmimas, dauginimas ir kitos operacijos su dvejetainiais skaičiais

Dabar pažiūrėkime operacijos, kurias galima atlikti su dvejetainiais skaičiais. Pradėkime nuo paprastų aritmetinių operacijų ir pereikime prie Būlio algebros operacijų.

Dvejetainių skaičių pridėjimas

Sudėti dvejetainius skaičius nėra taip sunku: 1+0 =1; 1+1=0 (paaiškinsiu vėliau); 0+0=0. Tai buvo paprasti pavyzdžiai kur buvo naudojamas tik vienas skaitmuo, pažvelkime į pavyzdžius, kai skaitmenų skaičius yra didesnis nei vienas.
101+1101 dešimtainėje sistemoje yra 5 + 13 = 18. Skaičiuokime stulpelyje.

Rezultatas paryškinamas oranžinė, skaiciuokle sako, kad teisingai paskaiciavome, galite pasitikrinti. Dabar pažiūrėkime, kodėl taip atsitiko, nes iš pradžių rašiau, kad 1+1=0, bet tai tam atvejui, kai turime tik vieną skaitmenį, tais atvejais, kai yra daugiau nei vienas skaitmuo, 1+1=10 (arba du dešimtainiu tikslumu), o tai yra logiška.

Tada pažiūrėkite, kas atsitiks, mes atliekame papildymus skaitmenimis iš dešinės į kairę:

1. 1+1=10, parašykite nulį ir vienas pereina prie kito skaitmens.

2. Kitame skaitmenyje gauname 0+0+1=1 (šis vienetas mums atėjo iš sudėjimo rezultato 1 veiksme).

4. Čia mes turime vienetą tik antrame skaičiuje, bet jis taip pat buvo perkeltas čia, todėl 0+1+1 = 10.

5. Viską suklijuokite: 10|0|1|0.

Jei tingi stulpelyje, tada skaičiuokime taip: 101011+11011 arba 43 + 27 = 70. Ką čia daryti, bet pažiūrėkime, nes niekas nedraudžia daryti transformacijų, keisti vietas terminai sumos nekeičia, dvejetainei skaičių sistemai ši taisyklė taip pat aktuali.

  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.

Patikrinti galite skaičiuotuvu, 1000110 dvejetainėje yra 70 dešimtaine.

Dvejetainių skaičių atėmimas

Iškart pavyzdys, kaip atimti vienženklius skaičius dvejetainėje skaičių sistemoje, mes nekalbėjome apie neigiamus skaičius, todėl neatsižvelgiame į 0-1: 1 – 0 = 1; 0 – 0 = 0; 1 – 1 = 0. Jei yra daugiau nei vienas skaitmuo, tada viskas taip pat paprasta, net nereikia jokių stulpelių ar gudrybių: 110111 – 1000, tai tas pats, kas 55 – 8. Rezultate gauname 101111. Ir nustojo plakti širdis, iš kur atsiranda trečiojo skaitmens vienetas (numeruojant iš kairės į dešinę ir pradedant nuo nulio)? Tai paprasta! Skaičiaus 110111 antrajame skaitmenyje yra 0, o pirmame – 1 (jei skaitmenų numeracija prasideda nuo 0 ir eina iš kairės į dešinę), tačiau ketvirto skaitmens vienetas gaunamas pridedant du trečiojo skaitmens vienetus (gaunate savotiškus virtualius du) ir iš šio iš dviejų atimame vieną, kuris yra skaičiaus 1000 nuliniame skaitmenyje, ir 2 - 1 = 1, o 1 yra tinkamas skaitmuo dvejetainėje skaičių sistemoje.

Dvejetainių skaičių dauginimas

Belieka apsvarstyti dvejetainių skaičių daugybą, kuri įgyvendinama perkeliant vieną bitą į kairę. Bet pirmiausia pažiūrėkime į vieno skaitmens daugybos rezultatus: 1*1 = 1; 1*0=0 0*0=0. Tiesą sakant, viskas paprasta, dabar pažvelkime į kažką sudėtingesnio. Paimkime skaičius 101001 (41) ir 1100 (12). Padauginsime iš stulpelio.

Jei iš lentelės neaišku, kaip tai atsitiko, pabandysiu paaiškinti žodžiais:

  1. Dvejetainius skaičius patogu padauginti stulpelyje, todėl antrąjį koeficientą išrašome po pirmuoju, jei skaičiai turi skirtingus skaitmenų skaičius, tada bus patogiau didesnis skaičius bus viršuje.
  2. Kitas žingsnis yra padauginti visus pirmojo skaičiaus skaitmenis iš mažiausio antrojo skaičiaus skaitmens. Toliau užrašome daugybos rezultatą, kad po kiekvienu atitinkamu skaitmeniu būtų parašytas daugybos rezultatas.
  3. Dabar turime padauginti visus pirmojo skaičiaus skaitmenis iš kito antrojo skaičiaus ir parašyti rezultatą dar viena eilute žemiau, tačiau šį rezultatą reikia perkelti vienu skaitmeniu į kairę, jei pažvelgsite į lentelę, tai yra antroji nulių seka iš viršaus.
  4. Tą patį turite padaryti su vėlesniais skaitmenimis, kiekvieną kartą perkeldami po vieną skaitmenį į kairę, o pažvelgę ​​į lentelę galite pasakyti, kad vienas langelis į kairę.
  5. Gavome keturis dvejetainiai skaičiai, kuriuos dabar reikia pridėti ir gauti rezultatą. Neseniai peržiūrėjome papildymą, problemų neturėtų kilti.

Apskritai daugybos operacija nėra tokia sudėtinga, tereikia šiek tiek pasitreniruoti.

Būlio algebros operacijos

Būlio algebroje yra dvi labai svarbios sąvokos: tiesa ir klaidinga, kurių atitikmuo yra nulis ir vienas dvejetainėje skaičių sistemoje. Būlio algebros operatoriai išplečia galimų operatorių skaičių virš šių reikšmių, pažvelkime į juos.

Loginė AND arba IR operacija

Loginis IR arba IR operacija yra lygiavertė vienaženklių dvejetainių skaičių dauginimui.

1 IR 1 = 1; 1 IR 0 = 1; 0 IR 0 = 0; 0 IR 1 = 0.

1 IR 1 = 1;

1 IR 0 = 1;

0 IR 0 = 0;

0 IR 1 = 0.

„Loginis IR“ rezultatas bus vienas tik tuo atveju, jei abi reikšmės bus lygios vienai, visais kitais atvejais jis bus lygus nuliui.

Operacija „Loginis ARBA“ arba ARBA

Operacija „Loginis ARBA“ arba ARBA veikia tokiu principu: jei bent viena reikšmė lygi vienetui, tai rezultatas bus vienas.

1 ARBA 1 = 1; 1 ARBA 0 = 1; 0 ARBA 1 = 1; 0 ARBA 0 = 0.

1 ARBA 1 = 1;

1 ARBA 0 = 1;

0 ARBA 1 = 1;

0 ARBA 0 = 0.

Išskirtinė OR arba XOR operacija

Operacija „Išskirtinis ARBA“ arba XOR duos mums rezultatą vienetą tik tuo atveju, jei vienas iš operandų bus lygus vienetui, o antrasis – nuliui. Jei abu operandai lygūs nuliui, rezultatas bus lygus nuliui ir net jei abu operandai lygūs vienetui, rezultatas bus lygus nuliui.