21.10.2019

Preklady do rôznych číselných sústav online. Rýchla konverzia čísla z desiatkového na binárne


Poďme sa pozrieť na jeden z hlavné témy v informatike - . IN školské osnovy prezrádza sa skôr „skromne“, s najväčšou pravdepodobnosťou kvôli nedostatku hodín na to určených. Vedomosti o tejto téme, najmä o preklad číselných sústav, sú predpokladom úspechu absolvovanie skúšky a prijatie na vysoké školy na príslušných fakultách. Nižšie sú uvedené pojmy ako napr pozičné a nepozičné číselné sústavy, sú uvedené príklady týchto číselných sústav, pravidlá prevodu celých desatinných čísel, pravidelných desatinných zlomkov a zmiešaných desatinných čísel do akejkoľvek inej číselnej sústavy, prevod čísel z ľubovoľnej číselnej sústavy na desiatkovú, prevod z osmičkovej a šestnástkovej číselnej sústavy na dvojkovú číselnú sústavu. prezentované. Na skúškach v vo veľkom počte na túto tému sú úlohy. Schopnosť ich riešenia je jednou z požiadaviek na uchádzačov. Už čoskoro: Ku každej téme sekcie okrem podrobného teoretického materiálu takmer všetky možné možnosti úlohy Pre samoštúdium. Okrem toho budete mať možnosť stiahnuť si hotové podrobné riešenia týchto úloh zo služby hostenia súborov úplne zadarmo, rôznymi spôsobmi získanie správnej odpovede.

pozičné číselné sústavy.

Nepozičné číselné sústavy- číselné sústavy, v ktorých kvantitatívna hodnota číslice nezávisí od jej umiestnenia v čísle.

Medzi nepozičné číselné sústavy patrí napríklad rímska, kde sú namiesto číslic latinské písmená.

ja 1 (jeden)
V 5 (päť)
X 10 (desať)
L 50 (päťdesiat)
C 100 (sto)
D 500 (päťsto)
M 1000 (tisíc)

Tu písmeno V znamená 5, bez ohľadu na jeho umiestnenie. Za zmienku však stojí, že hoci je rímska číselná sústava klasickým príkladom nepozičnej číselnej sústavy, nie je úplne nepozičná, pretože. menšie číslo pred väčším sa od neho odpočíta:

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

pozičné číselné sústavy.

Pozičné číselné sústavy- číselné sústavy, v ktorých kvantitatívna hodnota číslice závisí od jej umiestnenia v čísle.

Napríklad, ak hovoríme o desiatkovej sústave čísel, potom v čísle 700 číslo 7 znamená „sedemsto“, ale rovnaké číslo v čísle 71 znamená „sedem desiatok“ a v čísle 7020 - „sedemtisíc“ .

Každý pozičný číselný systém má svoj vlastný základňu. Základom je prirodzené číslo väčšie alebo rovné dva. Rovná sa počtu číslic použitých v tejto číselnej sústave.

    Napríklad:
  • Binárne- pozičný číselný systém so základom 2.
  • Kvartér- pozičný číselný systém so základom 4.
  • päťnásobný- pozičný číselný systém so základom 5.
  • osmičkový- pozičný číselný systém so základom 8.
  • Hexadecimálne- pozičný číselný systém so základom 16.

Na úspešné vyriešenie úloh na tému „Číselné sústavy“ musí študent vedieť naspamäť korešpondenciu dvojkových, desiatkových, osmičkových a šestnástkových čísel do 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

Je užitočné vedieť, ako sa v týchto číselných sústavách získavajú čísla. Môžete hádať, že v osmičke, šestnástkovej sústave, trojke a podobne pozičné číselné sústavy všetko sa deje podobne ako v nám známej desiatkovej sústave:

K číslu sa pridá jedna a získa sa nové číslo. Ak sa číslica jednotiek stane rovná základničíselných sústav zvyšujeme počet desiatok o 1 atď.

Tento „prechod jedného“ je presne to, čo väčšinu študentov desí. V skutočnosti je všetko celkom jednoduché. Prechod nastane, ak sa číslica jednotky rovná základ číselnej sústavy, zvýšime počet desiatok o 1. Mnohí, pamätajúc na starú dobrú desiatkovú sústavu, sa pri vybíjaní a pri tomto prechode odrazu zamotajú, pretože desiatkové a napríklad dvojkové desiatky sú rozdielne veci.

Vynaliezaví študenti teda majú „svoje metódy“ (prekvapivo ... fungujúce) pri vypĺňaní napríklad pravdivostných tabuliek, ktorých prvé stĺpce (hodnoty premenných) sú v skutočnosti vyplnené binárnymi číslami vo vzostupnom poradí. .

Pozrime sa napríklad na zadávanie čísel osmičkový systém: K prvému číslu (0) pripočítame 1, dostaneme 1. Potom pripočítame 1 k 1, dostaneme 2 atď. do 7. Ak k 7 pripočítame jednotku, dostaneme číslo rovné základu číselnej sústavy, t.j. 8. Potom musíte zväčšiť číslicu desiatok o jeden (dostaneme osmičkovú desiatku - 10). Ďalej sú to samozrejme čísla 11, 12, 13, 14, 15, 16, 17, 20, ..., 27, 30, ..., 77, 100, 101 ...

pravidlá pre prevod z jednej číselnej sústavy do druhej.

1 Prevod celých desiatkových čísel na akúkoľvek inú číselnú sústavu.

Číslo je potrebné vydeliť nový číselný základ. Prvý zvyšok delenia je prvá najmenšia platná číslica nového čísla. Ak je podiel delenia menší alebo rovný novej základni, potom sa musí (podiel) znova deliť novou základňou. V delení treba pokračovať, kým nezískame kvocient menší ako nový základ. Toto je najvyššia číslica nového čísla (treba si uvedomiť, že napríklad v šestnástkovej sústave nasledujú písmená po 9, to znamená, že ak máte vo zvyšku 11, musíte to napísať ako B).

Príklad („delenie rohom“): Preložme číslo 173 10 do osmičkovej číselnej sústavy.


Teda 173 10 \u003d 255 8

2 Prevod správnych desatinných zlomkov do akejkoľvek inej číselnej sústavy.

Číslo je potrebné vynásobiť novým základom číselnej sústavy. Číslica, ktorá prešla do celočíselnej časti, je najvyššia číslica zlomkovej časti nového čísla. na získanie ďalšej číslice sa musí zlomková časť výsledného súčinu opäť vynásobiť novým základom číselnej sústavy, kým nedôjde k prechodu na celočíselnú časť. Pokračujeme v násobení, kým sa zlomková časť nerovná nule, alebo kým nedosiahneme presnosť uvedenú v úlohe („...počítajte s presnosťou napr. na dve desatinné miesta“).

Príklad: Preložme číslo 0,65625 10 do osmičkovej číselnej sústavy.

Kalkulačka vám umožňuje previesť celé čísla a zlomky z jednej číselnej sústavy do druhej. Základ číselnej sústavy nemôže byť menší ako 2 a väčší ako 36 (10 číslic a 26 latinské písmená napriek tomu). Čísla nesmú presiahnuť 30 znakov. Pre vstup zlomkové čísla použiť symbol. alebo, . Ak chcete previesť číslo z jednej sústavy do druhej, zadajte do prvého poľa pôvodné číslo, do druhého základ pôvodnej číselnej sústavy a do tretieho poľa základ číselnej sústavy, do ktorej chcete číslo previesť, potom kliknite na tlačidlo „Získať záznam“.

pôvodné číslo zaznamenané v 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 35 -tá číselná sústava.

Chcem získať záznam čísla 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 -tá číselná sústava.

Získajte záznam

Preklady dokončené: 1237182

Číselné sústavy

Číselné sústavy sú rozdelené do dvoch typov: pozičné A nie pozičné. Používame arabský systém, je pozičný a existuje aj rímsky - len nie je pozičný. V pozičných systémoch poloha číslice v čísle jednoznačne určuje hodnotu tohto čísla. To je ľahké pochopiť, keď sa pozrieme na príklad nejakého čísla.

Príklad 1. Zoberme si číslo 5921 v desiatkovej číselnej sústave. Číslo číslujeme sprava doľava od nuly:

Číslo 5921 možno zapísať v nasledujúcom tvare: 5921 = 5000+900+20+1 = 5 10 3 +9 10 2 +2 10 1 +1 10 0 . Číslo 10 je charakteristika, ktorá definuje číselný systém. Hodnoty polohy daného čísla sa berú ako stupne.

Príklad 2. Zvážte skutočné desatinné číslo 1234,567. Číslovame ho od nulovej pozície čísla od desatinnej čiarky doľava a doprava:

Číslo 1234,567 možno zapísať takto: 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 1 +710-3.

Prevod čísel z jedného číselného systému do druhého

Väčšina jednoduchým spôsobom prenos čísla z jednej číselnej sústavy do druhej je preklad čísla najskôr do desiatkovej číselnej sústavy a potom získaný výsledok do požadovanej číselnej sústavy.

Prevod čísel z ľubovoľnej číselnej sústavy na desiatkovú číselnú sústavu

Na prevod čísla z ľubovoľnej číselnej sústavy do desiatkovej stačí očíslovať jeho číslice, začínajúc od nuly (číslica naľavo od desatinnej čiarky) podobne ako v príkladoch 1 alebo 2. Nájdite súčet súčinov číslic čísla podľa základu číselnej sústavy na mocninu pozície tejto číslice:

1. Preveďte číslo 1001101.1101 2 na desiatkovú číselnú sústavu.
Riešenie: 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
odpoveď: 10011.1101 2 = 19.8125 10

2. Preveďte číslo E8F.2D 16 na desiatkovú číselnú sústavu.
Riešenie: 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
odpoveď: E8F.2D 16 = 3727,17578125 10

Prevod čísel z desiatkovej číselnej sústavy do inej číselnej sústavy

Ak chcete previesť čísla z desiatkovej číselnej sústavy do inej číselnej sústavy, celé číslo a zlomkové časti čísla sa musia preložiť oddelene.

Prevod celej časti čísla z desiatkovej číselnej sústavy do inej číselnej sústavy

Celočíselná časť sa prekladá z desiatkovej číselnej sústavy do inej číselnej sústavy postupným delením celočíselnej časti čísla základom číselnej sústavy, až kým sa nezíska zvyšok celého čísla, menší ako základ číselnej sústavy. Výsledkom presunu bude záznam z pozostatkov, počnúc posledným.

3. Preveďte číslo 273 10 na osmičkovú číselnú sústavu.
Riešenie: 273 / 8 = 34 a zvyšok 1, 34 / 8 = 4 a zvyšok 2, 4 je menší ako 8, takže výpočet je dokončený. Záznam zo zvyškov bude vyzerať takto: 421
Vyšetrenie: 4 8 2 +2 8 1 +1 8 0 = 256+16+1 = 273 = 273, výsledok je rovnaký. Takže preklad je správny.
odpoveď: 273 10 = 421 8

Uvažujme o preklade správnych desatinných zlomkov do rôznych číselných sústav.

Prevod zlomkovej časti čísla z desiatkovej číselnej sústavy do inej číselnej sústavy

Pripomeňte si správne desiatkový volal reálne číslo s nulovou celočíselnou časťou. Ak chcete previesť takéto číslo na číselný systém so základom N, musíte číslo dôsledne násobiť číslom N, kým sa zlomková časť nevynuluje alebo kým sa nezíska požadovaný počet číslic. Ak sa počas násobenia získa číslo s inou celočíselnou časťou ako nula, potom sa celá časť ďalej neberie do úvahy, pretože sa postupne zadáva do výsledku.

4. Preveďte číslo 0,125 10 na binárnu číselnú sústavu.
Riešenie: 0,125 2 = 0,25 (0 je celá časť, ktorá bude prvou číslicou výsledku), 0,25 2 = 0,5 (0 je druhá číslica výsledku), 0,5 2 = 1,0 (1 je tretia číslica výsledku a keďže zlomková časť je nula, preklad je úplný).
odpoveď: 0.125 10 = 0.001 2

Metódy prevodu čísel z jedného číselného systému do druhého.

Preklad čísel z jedného pozičného číselného systému do druhého: preklad celých čísel.

Ak chcete previesť celé číslo z jedného číselného systému so základom d1 na iný so základom d2, musíte toto číslo a výsledné podiely postupne deliť základom d2 nového systému, až kým nebude podiel menší ako základ d2. Posledný kvocient je najvyššia číslica čísla v nový systém počítané so základom d2 a čísla, ktoré nasledujú, sú zvyškami delenia, napísané v opačnom poradí, ako boli prijaté. Vykonajte aritmetické operácie v číselnej sústave, v ktorej je zapísané preložené číslo.

Príklad 1. Preveďte číslo 11(10) do dvojkovej číselnej sústavy.

Odpoveď: 11(10)=1011(2).

Príklad 2. Preveďte číslo 122(10) na osmičkovú číselnú sústavu.


Odpoveď: 122(10)=172(8).

Príklad 3. Preveďte číslo 500(10) na hexadecimálnu číselnú sústavu.


Odpoveď: 500(10)=1F4(16).

Preklad čísel z jedného pozičného číselného systému do druhého: preklad vlastných zlomkov.

Na prevod vlastného zlomku z číselnej sústavy so základom d1 na sústavu so základom d2 je potrebné dôsledne vynásobiť pôvodný zlomok a zlomkové časti výsledných produktov základom novej číselnej sústavy d2. Správny zlomok čísla v novej číselnej sústave so základom d2 sa vytvorí ako celé číslo výsledných súčinov, začínajúc od prvého.
Ak výsledkom prekladu je zlomok vo forme nekonečnej alebo divergentnej série, proces môže byť dokončený, keď sa dosiahne požadovaná presnosť.

Pri preklade zmiešaných čísel je potrebné do novej sústavy preložiť oddelene celočíselné a zlomkové časti podľa pravidiel pre preklad celých čísel a vlastných zlomkov a následne oba výsledky spojiť do jedného zmiešaného čísla v novej číselnej sústave.

Príklad 1. Preveďte číslo 0,625(10) do binárnej číselnej sústavy.


Odpoveď: 0,625 (10) = 0,101 (2).

Príklad 2. Preveďte číslo 0,6 (10) na osmičkovú číselnú sústavu.


Odpoveď: 0,6 (10) = 0,463 (8).

Príklad 2. Preveďte číslo 0,7(10) na hexadecimálne.


Odpoveď: 0,7(10)=0,B333(16).

Prevod binárnych, osmičkových a hexadecimálnych čísel na desiatkové.

Ak chcete previesť číslo P-árnej sústavy na desatinné číslo, musíte použiť nasledujúci vzorec rozšírenia:
anan-1…a1a0=anPn+ an-1Pn-1+…+ a1P+a0 .

Príklad 1. Preveďte číslo 101.11(2) do desiatkovej číselnej sústavy.

Odpoveď: 101,11(2)= 5,75(10) .

Príklad 2. Preveďte číslo 57.24(8) do desiatkovej číselnej sústavy.

Odpoveď: 57,24(8) = 47,3125(10) .

Príklad 3. Preveďte číslo 7A,84(16) do desiatkovej číselnej sústavy.

Odpoveď: 7A,84(16)= 122,515625(10) .


Prevod osmičkových a hexadecimálnych čísel na binárne a naopak.

Ak chcete previesť číslo z osmičkového na binárne, každá číslica tohto čísla musí byť zapísaná ako trojmiestne binárne číslo (triáda).

Príklad: Zapíšte si číslo 16.24(8) v dvojkovej sústave.


Odpoveď: 16,24(8)= 1110,0101(2) .

Ak chcete previesť binárne číslo späť na osmičkovú číselnú sústavu, musíte pôvodné číslo rozdeliť na triády naľavo a napravo od desatinnej čiarky a reprezentovať každú skupinu ako číslo v osmičkovej číselnej sústave. Extrémne neúplné triády sú doplnené nulami.

Príklad: Napíšte číslo 1110.0101(2) v osmičke.


Odpoveď: 1110,0101(2)= 16,24(8) .

Ak chcete previesť číslo zo hexadecimálnej číselnej sústavy na binárnu, každá číslica tohto čísla musí byť zapísaná ako štvormiestne binárne číslo (tetrada).

Príklad: zapíšte si číslo 7A,7E(16) v binárnej číselnej sústave.


Odpoveď: 7A,7E(16)= 1111010,0111111(2) .

Poznámka: Nevýznamné nuly vľavo pre celé čísla a vpravo pre zlomky sa nezaznamenajú.

Ak chcete previesť binárne číslo späť do hexadecimálnej číselnej sústavy, musíte pôvodné číslo rozdeliť na tetrády naľavo a napravo od desatinnej čiarky a reprezentovať každú skupinu ako číslo v šestnástkovej číselnej sústave. Extrémne neúplné triády sú doplnené nulami.

Príklad: napíšte číslo 1111010.0111111(2) v šestnástkovej sústave.

Ak chcete rýchlo previesť čísla z desiatkovej na binárne, musíte dobre poznať čísla "2 na mocninu". Napríklad 2 10 \u003d 1024 atď. To vám umožní vyriešiť niektoré príklady na preklad v priebehu niekoľkých sekúnd. Jednou z týchto úloh je úloha A1 z ukážky USE 2012. Číslo môžete samozrejme zdĺhavo a zdĺhavo deliť „2“. Je však lepšie rozhodnúť sa inak, čím ušetríte drahocenný čas na skúške.

Metóda je veľmi jednoduchá. Jeho podstatou je toto: ak sa číslo, ktoré sa má previesť z desiatkovej sústavy, rovná číslu „2 na mocninu“, potom toto číslo v dvojkovej sústave obsahuje počet núl rovný mocnine. Pred tieto nuly pridáme "1".

  • Preložme si číslo 2 z desiatkovej sústavy. 2=21. Preto v dvojkovej sústave číslo obsahuje 1 nulu. Vpredu dáme "1" a dostaneme 10 2 .
  • Preložíme 4 z desiatkovej sústavy. 4=22. Preto v dvojkovej sústave číslo obsahuje 2 nuly. Vpredu dáme "1" a dostaneme 100 2.
  • Preložíme 8 z desiatkovej sústavy. 8 = 23. Preto v dvojkovej sústave číslo obsahuje 3 nuly. Vpredu dáme "1" a dostaneme 1000 2.


Podobne pre ostatné čísla „2 na mocninu“.

Ak číslo, ktoré sa má preložiť menej ako číslo"2 na mocninu" o 1, potom v dvojkovej sústave toto číslo pozostáva iba z jednotiek, ktorých počet sa rovná stupňu.

  • Preložíme 3 z desiatkovej sústavy. 3=22-1. Preto v dvojkovej sústave číslo obsahuje 2 jednotky. Dostávame 112.
  • Preložíme 7 z desiatkovej sústavy. 7=23-1. Preto v dvojkovej sústave číslo obsahuje 3 jednotky. Dostaneme 1112.

Na obrázku štvorčeky označujú binárne znázornenie čísla a vľavo je desatinné znázornenie ružové.


Preklad je pre ostatné čísla podobný "2 na mocninu -1".

Je jasné, že preklad čísel od 0 do 8 je možné vykonať rýchlo alebo delením, alebo jednoducho poznať naspamäť ich zastúpenie v dvojkovej sústave. Uviedol som tieto príklady, aby ste pochopili princíp túto metódu a použil ho na preklad „pôsobivejších čísel“, napríklad na preklad čísel 127,128, 255, 256, 511, 512 atď.

S takýmito úlohami sa môžete stretnúť, keď potrebujete preložiť číslo, nie rovná sa číslu"2 k sile", ale blízko k nej. Môže byť väčšia alebo menšia ako číslo „2 na mocninu“. Rozdiel medzi preloženým číslom a číslom „2 na mocninu“ by mal byť malý. Napríklad do 3. Reprezentácia čísel od 0 do 3 v dvojkovej sústave by mala byť jednoducho známa bez prekladu.

Ak je číslo väčšie ako , riešime to takto:

Najprv preložíme číslo „2 na mocninu“ do dvojkovej sústavy. A potom k nemu pridáme rozdiel medzi číslom „2 na mocninu“ a preloženým číslom.

Preložme si napríklad 19 z desiatkovej sústavy. Je väčšia ako číslo „2 na mocninu“ o 3.

16=2 4 . 16 10 =10000 2 .

3 10 =11 2 .

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

Ak je číslo menšie ako číslo "2 na mocninu", potom je vhodnejšie použiť číslo "2 na mocninu -1". Rozhodneme sa takto:

Najprv preložíme číslo "2 na mocninu -1" do dvojkovej sústavy. A potom od neho odčítajte rozdiel medzi číslom "2 na mocninu -1" a preloženým číslom.

Preložme si napríklad 29 z desiatkovej sústavy. Je väčšie ako číslo "2 na mocninu 1" o 2. 29=31-2.

31 10 =11111 2 .

2 10 =10 2 .

29 10 =11111 2 -10 2 =11101 2

Ak je rozdiel medzi preloženým číslom a číslom "2 na mocninu" väčší ako tri, potom môžete číslo rozdeliť na komponenty, previesť každú časť do binárnej sústavy a pridať.

Napríklad preložte číslo 528 z desiatkovej sústavy. 528=512+16. Prekladáme samostatne 512 a 16.
512=2 9 . 512 10 =1000000000 2 .
16=2 4 . 16 10 =10000 2 .
Teraz si to poskladajme:

Dobrý deň, návštevník stránky! Pokračujeme v štúdiu protokolu sieťovej vrstvy IP a presnejšie jeho verzie IPv4. Na prvý pohľad téma binárne čísla a dvojková číselná sústava nemá nič spoločné s protokolom IP, ale ak si pamätáte, že počítače pracujú s nulami a jednotkami, ukazuje sa, že binárny systém a jeho pochopenie je základom základov, Naučte sa prevádzať čísla z binárnych na desiatkové a naopak: desatinné až binárne. Pomôže nám to lepšie porozumieť protokolu IP, ako aj tomu, ako fungujú sieťové masky s premenlivou dĺžkou. Začnime!

Ak vás téma počítačových sietí zaujala, môžete si prečítať ďalšie záznamy kurzu.

4.4.1 Úvod

Skôr než začneme, stojí za to vysvetliť, prečo sieťový inžinier potrebuje túto tému. Aj keď ste sa mohli presvedčiť o jeho nevyhnutnosti, keď sme hovorili, ale môžete povedať, že existujú kalkulačky IP, ktoré výrazne uľahčujú úlohu distribúcie adries IP, výpočtu potrebných masiek podsiete / siete a určovania čísla siete a čísla hostiteľa v adrese IP . Je to tak, ale IP kalkulačka nie je vždy po ruke, to je dôvod číslo jedna. Dôvodom číslo dva je, že skúšky Cisco vám nedajú IP kalkulačku a to je všetko. prevod IP adries z desiatkovej na binárne budete musieť urobiť na kus papiera, a otázok, kde sa to pri skúške / skúškach na získanie certifikátu CCNA vyžaduje, nie je až tak málo, bude škoda, ak bude skúška prevalcovaná kvôli takejto maličkosti. A napokon pochopenie binárneho číselného systému vedie k lepšiemu pochopeniu princípu fungovania.

Vo všeobecnosti sa od sieťového inžiniera nevyžaduje, aby vedel prekladať čísla z dvojkovej sústavy do desiatkovej a naopak. Navyše, len málokedy je možné, aby to niekto urobil vo svojej mysli, do tejto kategórie patria najmä učitelia rôznych kurzov o počítačových sieťach, pretože sa s tým stretávajú každý deň. Ale s kusom papiera a perom by ste sa mali naučiť prekladať.

4.4.2 Desatinné číslice a čísla, číslice v číslach

Začnime jednoducho a porozprávajme sa o binárnych čísliciach a číslach, viete, že čísla a čísla sú dve rôzne veci. Číslica je špeciálny symbol pre označenie a číslo je abstraktný zápis, ktorý znamená množstvo. Napríklad, aby sme napísali, že máme na ruke päť prstov, môžeme použiť rímske a arabské číslice: V a 5. V tomto prípade je päťka číslo aj číslo. A napríklad na zapísanie čísla 20 používame dve číslice: 2 a 0.

Celkovo máme v desiatkovej číselnej sústave desať číslic alebo desať znakov (0,1,2,3,4,5,6,7,8,9), ktorých spájaním môžeme písať rôzne čísla. Akou zásadou sa riadime pri používaní desiatkovej číselnej sústavy? Áno, všetko je veľmi jednoduché, desať zvýšime na jeden alebo druhý stupeň, napríklad si vezmeme číslo 321. Ako sa to dá napísať inak, ale takto: 3*10 2 +2*10 1 +1*10 0 . Ukazuje sa teda, že číslo 321 predstavuje tri číslice:

  1. Číslo 3 znamená najvýznamnejšiu číslicu, alebo v tomto prípade sú to stovky, inak ich číslo.
  2. Číslo 2 je na mieste desiatky, my máme dve desiatky.
  3. Číslo jeden je najmenej významná číslica.

To znamená, že v tomto zázname dvojka nie je len dvojka, ale dve desiatky alebo dva krát desať. Trojka nie je len trojka, ale trojnásobok sto. Ukazuje sa taká závislosť: jednotka každej ďalšej číslice je desaťkrát väčšia ako jednotka predchádzajúcej, pretože to, čo je 300, je trikrát sto. Na uľahčenie pochopenia dvojhviezdy bolo potrebné odbočiť do systému desatinných čísel.

4.4.3 Binárne číslice a čísla a ich zápis

V binárnom číselnom systéme sú iba dve číslice: 0 a 1. Preto je zápis čísla v dvojkovej sústave často oveľa väčší ako v desiatkovej sústave. S výnimkou čísel 0 a 1 sa nula v dvojkovej sústave rovná nule v desiatkovej sústave a to isté platí pre jednotku. Niekedy, aby nedošlo k zámene, v ktorej číselnej sústave je číslo napísané, sa používajú podindexy: 267 10, 10100 12, 4712 8. Číslo v podindexe označuje číselný systém.

Na písanie binárnych čísel možno použiť znaky 0b a & (ampersand): 0b10111, &111. Ak v desiatkovej číselnej sústave na vyslovenie čísla 245 použijeme túto konštrukciu: dvestoštyridsaťpäť, potom v dvojkovej číselnej sústave na pomenovanie čísla musíme vysloviť číslo z každej číslice, napr. číslo 1100 v dvojkovej číselnej sústave by sa nemalo vyslovovať ako tisíc sto, ale ako jedna, jedna, nula, nula. Pozrime sa na čísla od 0 do 10 v binárnom zápise:

Myslím, že logika by už mala byť jasná. Ak sme v desiatkovej číselnej sústave pre každú číslicu mali k dispozícii desať možností (od 0 do 9 vrátane), tak v dvojkovej číselnej sústave v každej z číslic binárneho čísla máme len dve možnosti: 0 alebo 1.

Na prácu s IP adresami a maskami podsiete potrebujeme iba prirodzené čísla v dvojkovej sústave, hoci dvojková sústava umožňuje písať zlomkové a záporné čísla ale my to nepotrebujeme.

4.4.4 Prevod čísel z desiatkových na binárne

Poďme sa v tom zlepšiť, ako previesť číslo z desiatkového na binárne. A tu je všetko v skutočnosti veľmi, veľmi jednoduché, aj keď je ťažké vysvetliť slovami, takže okamžite dám príklad prevodu čísel z desiatkovej do dvojkovej sústavy. Zoberme si číslo 61, aby sme mohli previesť do dvojkovej sústavy, musíme toto číslo vydeliť dvomi a uvidíme, čo sa stane vo zvyšku delenia. A výsledok delenia sa opäť delí dvoma. V tomto prípade je 61 deliteľom, vždy budeme mať dvojku ako deliteľa a podiel (výsledok delenia) opäť vydelíme dvomi, pokračujeme v delení, kým podiel nebude 1, táto posledná jednotka bude číslica úplne vľavo . Dokazuje to nasledujúci obrázok.

Zároveň si všimnite, že číslo 61 nie je 101111, ale 111101, to znamená, že výsledok vypisujeme od konca. Delenie dvoma v poslednom prípade nemá žiadny zvláštny zmysel, pretože v tomto prípade sa používa celočíselné delenie a pri tomto prístupe to vyzerá ako na obrázku 4.4.2.

Nie je to najlepšie rýchly spôsob prevod čísla z dvojkového na desiatkové. Máme niekoľko urýchľovačov. Napríklad číslo 7 v dvojkovej sústave sa zapíše ako 111, číslo 3 ako 11 a číslo 255 ako 11111111. Všetky tieto prípady sú neuveriteľne jednoduché. Faktom je, že čísla 8, 4 a 256 sú mocniny dvojky a čísla 7, 3 a 255 sú o jednu menej ako tieto čísla. Takže pre číslo, ktoré je o jednu menšie ako číslo rovné mocnine dvoch, platí jednoduché pravidlo: v dvojkovej sústave sa takéto desatinné číslo zapíše ako počet jednotiek rovný mocnine dvoch. Takže napríklad číslo 256 je dve na ôsmu mocninu, preto je 255 napísané ako 11111111 a číslo 8 je dve na tretiu mocninu, čo nám hovorí, že 7 v binárnej sústave sa zapíše ako 111. No, pochopte, ako napísať 256, 4 a 8 binárne tiež nie je ťažké, stačí pridať jeden: 256 = 11111111 + 1 = 100000000; 8 = 111 + 1 = 1 000; 4 = 11 + 1 = 100.
Ktorýkoľvek zo svojich výsledkov si môžete skontrolovať na kalkulačke a najprv je lepšie to urobiť.

Ako vidíte, ešte sme nezabudli na zdieľanie. A teraz môžeme ísť ďalej.

4.4.5 Prevod čísel z binárnych na desiatkové

Prevod čísel z dvojkovej sústavy je oveľa jednoduchší ako prevod z desiatkovej do dvojkovej sústavy. Ako príklad prekladu použijeme číslo 11110. Venujte pozornosť tabuľke nižšie, ukazuje mocninu, na ktorú musíte zvýšiť dvojku, aby ste nakoniec dostali desatinné číslo.

Ak chcete získať desatinné číslo z tohto binárneho čísla, musíte každé číslo v číslici vynásobiť dvoma a potom pridať výsledky násobenia, je to jednoduchšie:

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

Otvorme kalkulačku a uistime sa, že 30 v desiatkovej sústave je 11110 v binárnej sústave.

Vidíme, že všetko sa robí správne. Z príkladu je to vidieť prevod čísla z dvojkového na desiatkové je oveľa jednoduchší ako spätný prevod. Ak chcete pracovať s istotou, musíte si pamätať iba mocniny dvoch až 2 8 . Pre prehľadnosť uvediem tabuľku.

Nepotrebujeme viac, pretože maximálny možný počet, ktorý je možné zapísať do jedného bajtu (8 bitov alebo osem binárnych hodnôt) je 255, to znamená, že v každom oktete IP adresy alebo masky podsiete IPv4 je maximálna možná hodnota 255. Existujú polia, v ktorých sú hodnoty väčšie ako 255, ale nemusíme ich počítať.

4.4.6 Sčítanie, odčítanie, násobenie binárnych čísel a iné operácie s binárnymi číslami

Poďme sa teraz pozrieť na operácie, ktoré možno vykonávať s binárnymi číslami. Začnime jednoduchými aritmetickými operáciami a potom prejdime k operáciám booleovskej algebry.

Binárne sčítanie

Sčítanie binárnych čísel nie je také ťažké: 1+0 =1; 1+1=0 (neskôr uvediem vysvetlenie); 0+0=0. Títo boli jednoduché príklady, kde bola použitá iba jedna číslica, pozrime sa na príklady, kde je počet číslic viac ako jedna.
101 + 1101 v desiatkovej sústave je 5 + 13 = 18. Počítajme v stĺpci.

Výsledok je zvýraznený oranžová, kalkulačka hovorí, že sme vypočítali správne, môžete si to skontrolovať. Teraz sa pozrime, prečo sa to stalo, pretože najprv som napísal, že 1 + 1 = 0, ale to je pre prípad, keď máme iba jednu číslicu, pre prípady, keď je viac ako jedna číslica, 1 + 1 = 10 (alebo dve v desiatkovej sústave), čo je logické.

Potom sa pozrite, čo sa stane, pridávame číslice sprava doľava:

1. 1+1=10, zapíšte nulu a jedna prejde na ďalší bit.

2. V ďalšej číslici dostaneme 0+0+1=1 (táto jednotka nám vyšla z výsledku sčítania v kroku 1).

4. Tu máme jednotku len pre druhé číslo, ale tá sa sem preniesla, takže 0 + 1 + 1 = 10.

5. Všetko zlepte: 10|0|1|0.

Ak je lenivosť v stĺpci, potom počítajme takto: 101011 + 11011 alebo 43 + 27 = 70. Čo tu môžeme robiť, ale pozrime sa, pretože nikto nám nezakazuje robiť premeny a súčet sa nemení miesta pojmov, pre binárnu číselnú sústavu toto pravidlo platí tiež.

  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.

Môžete to skontrolovať pomocou kalkulačky, 1000110 v binárnom systéme je 70 v desiatkovej sústave.

Odčítanie binárnych čísel

Okamžitý príklad na odčítanie jednociferných čísel v binárnej číselnej sústave, nehovorili sme o záporných číslach, takže neberieme do úvahy 0-1: 1 - 0 = 1; 0 - 0 = 0; 1 - 1 = 0. Ak je viac ako jedna číslica, všetko je tiež jednoduché, dokonca nie sú potrebné žiadne stĺpce a triky: 110111 - 1000, to je to isté ako 55 - 8. Výsledkom je 101111. srdce prestalo biť, odkiaľ pochádza jednotka v tretej číslici (číslovanie zľava doprava a začína od nuly)? Áno, všetko je jednoduché! V druhej číslici čísla 110111 je 0 a v prvej číslici je 1 (ak predpokladáme, že číslovanie číslic začína od 0 a ide zľava doprava), ale získa sa jednotka štvrtej číslice sčítaním dvoch jednotiek tretej číslice (získame druh virtuálnej dvojky) a od tejto dvojky odčítame jednu, ktorá je na nultej číslici čísla 1000, ale 2 - 1 \u003d 1, 1 je platná číslice v dvojkovej číselnej sústave.

Násobenie binárnych čísel

Zostáva nám zvážiť násobenie binárnych čísel, ktoré realizujeme posunutím o jeden bit doľava. Najprv sa však pozrime na výsledky jednociferného násobenia: 1*1 = 1; 1*0=0 0*0=0. V skutočnosti je všetko jednoduché, teraz sa pozrime na niečo zložitejšie. Zoberme si čísla 101001 (41) a 1100 (12). Vynásobíme stĺpcom.

Ak z tabuľky nie je jasné, ako sa to stalo, pokúsim sa to vysvetliť slovami:

  1. Je vhodné násobiť binárne čísla v stĺpci, takže druhý faktor zapíšeme pod prvý, ak čísla majú iný počet číslic, potom bude pohodlnejšie, ak viac bude na vrchole.
  2. Ďalším krokom je vynásobenie všetkých číslic prvého čísla najmenej významnou číslicou druhého čísla. Výsledok násobenia zapíšeme nižšie, v tomto prípade je potrebné ho zapísať tak, aby sa výsledok násobenia zapísal pod každú zodpovedajúcu číslicu.
  3. Teraz musíme vynásobiť všetky číslice prvého čísla ďalšou číslicou druhého čísla a výsledok napísať o jeden riadok nižšie, ale tento výsledok je potrebné posunúť o jednu číslicu doľava, ak sa pozriete na tabuľku, toto je druhá postupnosť núl zhora.
  4. To isté musíte urobiť pre nasledujúce číslice, zakaždým, keď sa posuniete o jednu číslicu doľava, a ak sa pozriete na tabuľku, môžete povedať, že o jednu bunku doľava.
  5. Dostali sme štyri binárne čísla, ktoré teraz musíte pridať a získať výsledok. Navyše sme nedávno zvažovali, že problémy by nemali nastať.

Operácia násobenia vo všeobecnosti nie je taká náročná, len si ju treba trochu precvičiť.

Operácie booleovskej algebry

V Booleovej algebre existujú dva veľmi dôležité pojmy: pravda (pravda) a nepravda (nepravda), ekvivalenty pre ne sú nula a jedna v binárnej číselnej sústave. Operátory booleovskej algebry rozširujú počet dostupných operátorov na týchto hodnotách, poďme sa na ne pozrieť.

Operácia "Logický AND" alebo AND

Operácia "Logický AND" alebo AND je ekvivalentná násobeniu jednobitových binárnych čísel.

1 a 1 = 1; 1 a 0 = 1; 0 A 0 = 0; 0 A 1 = 0.

1 a 1 = 1;

1 a 0 = 1;

0 A 0 = 0;

0 A 1 = 0.

Výsledok "Logical AND" bude jedna iba vtedy, ak sa obe hodnoty rovnajú jednej, vo všetkých ostatných prípadoch bude nula.

Operácia "Logické OR" alebo OR

Operácia "Logické OR" alebo OR funguje podľa nasledujúceho princípu: ak sa aspoň jedna hodnota rovná jednej, výsledok bude jedna.

1 alebo 1 = 1; 1 alebo 0 = 1; 0 alebo 1 = 1; 0 ALEBO 0 = 0.

1 alebo 1 = 1;

1 alebo 0 = 1;

0 OR1 = 1;

0 ALEBO 0 = 0.

Operácia XOR

Operácia XOR alebo XOR nám dá výsledok jedna iba vtedy, ak sa jeden z operandov rovná jednej a druhý sa rovná nule. Ak sú oba operandy nula, bude to nula a aj keď sa oba operandy rovnajú jednej, výsledok bude nula.