• Překlad čísel do dvojkové, šestnáctkové, desítkové, osmičkové číselné soustavy. Číselné soustavy a převod z dvojkové soustavy na desítkovou

    Ahoj návštěvníku stránek! Pokračujeme ve studiu protokolu síťové vrstvy IP, přesněji řečeno jeho verze IPv4. Na první pohled téma binární čísla a binární číselná soustava nemá nic společného s protokolem IP, ale pokud si pamatujete, že počítače pracují s nulami a jedničkami, ukazuje se, že binární systém a jeho pochopení je základem základů, potřebujeme Naučte se převádět čísla z binárních na desítkové a naopak: desítkové až binární. To nám pomůže lépe porozumět protokolu IP a také tomu, jak fungují síťové masky s proměnnou délkou. Začněme!

    Pokud vás téma počítačových sítí zajímá, můžete si přečíst další záznamy kurzu.

    4.4.1 Úvod

    Než začneme, stojí za to vysvětlit, proč síťový inženýr potřebuje toto téma. I když jste mohli být přesvědčeni o jeho nezbytnosti, když jsme mluvili, ale můžete říci, že existují IP kalkulačky, které značně usnadňují úkol distribuce IP adres, výpočet nezbytných masek podsítě / sítě a určení čísla sítě a čísla hostitele v IP adrese . Je to tak, ale IP kalkulačka není vždy po ruce, to je důvod číslo jedna. Důvodem číslo dvě je, že zkoušky Cisco vám neposkytnou IP kalkulačku a to je vše. převod IP adres z desítkové na binární budete muset udělat na kus papíru, a otázek, kde se to u zkoušky / zkoušek pro získání certifikátu CCNA vyžaduje, není zas tak málo, bude škoda, když bude zkouška kvůli takové maličkosti zahlcena. A konečně pochopení binárního číselného systému vede k lepšímu pochopení principu fungování.

    Obecně se od síťového inženýra nevyžaduje, aby byl schopen ve své mysli překládat čísla z dvojkové soustavy do desítkové soustavy a naopak. Navíc málokdy někdo ví, jak to udělat ve své mysli, do této kategorie patří především učitelé různých kurzů o počítačových sítích, protože se s tím potýkají každý den. Ale s kusem papíru a perem byste se měli naučit překládat.

    4.4.2 Desetinné číslice a čísla, číslice v číslech

    Začněme jednoduše a promluvme si o binárních číslicích a číslech, víte, že čísla a čísla jsou dvě různé věci. Číslice je speciální symbol pro označení a číslo je abstraktní zápis, který znamená množství. Chcete-li například napsat, že máme na ruce pět prstů, můžeme použít římské a arabské číslice: V a 5. V tomto případě je pětka číslo i číslo. A například k zápisu čísla 20 používáme dvě číslice: 2 a 0.

    Celkem máme v desítkové číselné soustavě deset číslic nebo deset znaků (0,1,2,3,4,5,6,7,8,9), jejichž kombinací můžeme psát různá čísla. Jakou zásadou se řídíme při používání desítkové číselné soustavy? Ano, vše je velmi jednoduché, deset zvýšíme na ten či onen stupeň, například vezměte číslo 321. Jak se to dá napsat jinak, ale takhle: 3*10 2 +2*10 1 +1*10 0 . Ukazuje se tedy, že číslo 321 představuje tři číslice:

    1. Číslo 3 znamená nejvýznamnější číslici, v tomto případě jsou to stovky, jinak jejich číslo.
    2. Číslo 2 je na místě desítek, my máme dvě desítky.
    3. Číslo jedna je nejméně významná číslice.

    To znamená, že v tomto záznamu dvojka není jen dvojka, ale dvě desítky nebo dvě krát deset. Trojka není jen trojka, ale třikrát sto. Ukazuje se taková závislost: jednotka každé další číslice je desetkrát větší než jednotka předchozí, protože to, co je 300, je třikrát sto. Aby bylo snazší porozumět dvojkové soustavě, bylo zapotřebí odbočit k systému desetinných čísel.

    4.4.3 Binární číslice a čísla a jejich zápis

    V binární číselné soustavě jsou pouze dvě číslice: 0 a 1. Proto je zápis čísla v dvojkové soustavě často mnohem větší než v desítkové soustavě. S výjimkou čísel 0 a 1 je nula v dvojkové soustavě rovna nule v desítkové soustavě a totéž platí pro jedničku. Někdy, aby nedošlo k záměně, v jaké číselné soustavě je číslo zapsáno, se používají dílčí indexy: 267 10, 10100 12, 4712 8. Číslo v dílčím indexu označuje číselný systém.

    K zápisu binárních čísel lze použít znaky 0b a & (ampersand): 0b10111, &111. Pokud v desítkové číselné soustavě pro vyslovení čísla 245 použijeme tuto konstrukci: dvě stě čtyřicet pět, pak v binární číselné soustavě pro pojmenování čísla potřebujeme vyslovit číslo z každé číslice, např. číslo 1100 v binární číselné soustavě by se nemělo vyslovovat jako tisíc set, ale jako jedna, jedna, nula, nula. Podívejme se na čísla od 0 do 10 v binárním zápisu:

    Myslím, že logika by už měla být jasná. Jestliže jsme v desítkové číselné soustavě pro každou číslici měli k dispozici deset možností (od 0 do 9 včetně), pak v dvojkové číselné soustavě v každé z číslic dvojkového čísla máme pouze dvě možnosti: 0 nebo 1.

    Pro práci s IP adresami a maskami podsítě nám stačí přirozená čísla ve dvojkové soustavě, dvojková soustava nám sice umožňuje zapisovat zlomková a záporná čísla, ale to nepotřebujeme.

    4.4.4 Převod čísel z desítkové na binární

    Pojďme se v tom zlepšit, jak převést číslo z desítkové na binární. A tady je všechno ve skutečnosti velmi, velmi jednoduché, i když je obtížné vysvětlit slovy, takže okamžitě dám příklad převodu čísel z desítkové na binární. Vezměme si číslo 61, abychom mohli převést do dvojkové soustavy, musíme toto číslo vydělit dvěma a uvidíme, co se stane ve zbytku dělení. A výsledek dělení se opět dělí dvěma. V tomto případě je dělenec 61, vždy budeme mít dvojku jako dělitel a podíl (výsledek dělení) opět vydělíme dvěma, pokračujeme v dělení, dokud podíl nebude 1, tato poslední jednotka bude číslice zcela vlevo . Níže uvedený obrázek to ukazuje.

    Zároveň si všimněte, že číslo 61 není 101111, ale 111101, čili vypisujeme výsledek od konce. Dělení dvěma v tom posledním nemá žádný zvláštní smysl, protože v tomto případě se používá celočíselné dělení as tímto přístupem to dopadá jako na obrázku 4.4.2.

    Toto není nejrychlejší způsob převodu čísla z binárního na desítkové. Máme několik akcelerátorů. Například číslo 7 ve dvojkové soustavě se zapisuje jako 111, číslo 3 jako 11 a číslo 255 jako 11111111. Všechny tyto případy jsou nehorázně jednoduché. Faktem je, že čísla 8, 4 a 256 jsou mocniny dvojky a čísla 7, 3 a 255 jsou o jednu menší než tato čísla. Takže pro číslo, které je o jedničku menší než číslo rovné mocnině dvou, platí jednoduché pravidlo: ve dvojkové soustavě se takové desetinné číslo zapíše jako počet jednotek rovný mocnině dvou. Takže například číslo 256 je dvě na osmou mocninu, proto je 255 zapsáno jako 11111111 a číslo 8 je dvě na třetí mocninu, a to nám říká, že 7 ve dvojkové soustavě bude zapsáno jako 111. No, pochopte, jak zapsat 256, 4 a 8 binárně také není těžké, stačí přidat jednu: 256 = 11111111 + 1 = 100000000; 8 = 111 + 1 = 1000; 4 = 11 + 1 = 100.
    Jakýkoli ze svých výsledků můžete zkontrolovat na kalkulačce a zpočátku je to lepší.

    Jak vidíte, ještě jsme nezapomněli sdílet. A teď můžeme jít dál.

    4.4.5 Převod čísel z binárních na desítkové

    Převod čísel z dvojkové soustavy je mnohem jednodušší než převod z desítkové do dvojkové soustavy. Jako příklad překladu použijeme číslo 11110. Věnujte pozornost níže uvedenému štítku, ukazuje mocninu, na kterou musíte zvýšit dvojku, abyste nakonec dostali desetinné číslo.

    Chcete-li získat desetinné číslo z tohoto binárního čísla, musíte každé číslo v číslici vynásobit dvěma a poté sečíst výsledky násobení, je to jednodušší:

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

    Otevřete kalkulačku a ujistěte se, že 30 v desítkové soustavě je 11110 v binární soustavě.

    Vidíme, že vše je provedeno správně. Z příkladu je to vidět převod čísla z binárního na desítkové je mnohem jednodušší než zpětný převod. Abyste mohli pracovat s jistotou, stačí si zapamatovat mocniny dvou až 2 8 . Pro přehlednost uvedu tabulku.

    Víc nepotřebujeme, protože maximální možný počet, který lze zapsat do jednoho bajtu (8 bitů nebo osm binárních hodnot), je 255, to znamená, že v každém oktetu IP adresy nebo masky podsítě IPv4 je maximální možná hodnota 255. Existují pole , ve kterých jsou hodnoty vyšší než 255, ale nemusíme je počítat.

    4.4.6 Sčítání, odčítání, násobení binárních čísel a další operace s binárními čísly

    Pojďme se nyní podívat na operace, které lze provádět s binárními čísly. Začněme jednoduchými aritmetickými operacemi a pak přejdeme k operacím s booleovskou algebrou.

    Binární sčítání

    Přidání binárních čísel není tak těžké: 1+0 =1; 1+1=0 (později podám vysvětlení); 0+0=0. Byly to jednoduché příklady, kdy byla použita pouze jedna číslice, podívejme se na příklady, kde je počet číslic více než jedna.
    101 + 1101 v desítkové soustavě je 5 + 13 = 18. Počítejme ve sloupci.

    Výsledek je zvýrazněn oranžově, kalkulačka říká, že jsme počítali správně, můžete si to zkontrolovat. Nyní se podívejme, proč se to stalo, protože nejprve jsem psal, že 1 + 1 = 0, ale to je pro případ, kdy máme pouze jednu číslici, pro případy, kdy je více číslic, 1 + 1 = 10 (nebo dvě v desítkové soustavě), což je logické.

    Pak se podívejte, co se stane, provádíme sčítání po číslicích zprava doleva:

    1. 1+1=10, zapište nulu a jedna přejde na další bit.

    2. V další číslici je získáno 0+0+1=1 (tato jednotka nám vyšla z výsledku sčítání v kroku 1).

    4. Zde máme jednotku pouze pro druhé číslo, ale byla sem přenesena, takže 0 + 1 + 1 = 10.

    5. Vše slepte dohromady: 10|0|1|0.

    Pokud je lenost ve sloupci, pak počítejme takto: 101011 + 11011 nebo 43 + 27 = 70. Co tady naděláme, ale podívejme se, protože přeměny nám nikdo nezakazuje a součet se změnou nemění místa pojmů, pro binární číselnou soustavu toto pravidlo platí také.

    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 zkontrolovat pomocí kalkulačky, 1000110 v binárním systému je 70 v desítkové soustavě.

    Odečítání binárních čísel

    Okamžitý příklad pro odčítání jednociferných čísel v binární číselné soustavě, nemluvili jsme o záporných číslech, takže nebereme v úvahu 0-1: 1 - 0 = 1; 0 - 0 = 0; 1 - 1 = 0. Pokud je více než jedna číslice, pak je vše také jednoduché, dokonce nejsou potřeba žádné sloupce a triky: 110111 - 1000, to je stejné jako 55 - 8. Výsledkem je 101111. srdce přestalo bít, odkud pochází jednotka ve třetí číslici (číslování zleva doprava a začíná od nuly)? Ano, vše je jednoduché! Ve druhé číslici čísla 110111 je 0 a v první číslici je 1 (pokud předpokládáme, že číslování číslic začíná od 0 a jde zleva doprava), ale získá se jednotka čtvrté číslice sečtením dvou jednotek třetí číslice (získáme druh virtuální dvojky) a od této dvojky odečteme jednu, která je na nulté číslici čísla 1000, ale 2 - 1 \u003d 1, dobře, 1 je platná číslice v binární číselné soustavě.

    Násobení binárních čísel

    Zbývá nám zvážit násobení binárních čísel, které realizujeme posunutím o jeden bit doleva. Nejprve se však podívejme na výsledky jednociferného násobení: 1*1 = 1; 1*0=0 0*0=0. Ve skutečnosti je vše jednoduché, nyní se podíváme na něco složitějšího. Vezměme si čísla 101001 (41) a 1100 (12). Budeme násobit sloupcem.

    Pokud z tabulky není jasné, jak se to stalo, pokusím se to vysvětlit slovy:

    1. Je vhodné násobit binární čísla ve sloupci, takže druhý faktor zapíšeme pod první, pokud mají čísla jiný počet číslic, bude výhodnější, když bude větší číslo nahoře.
    2. Dalším krokem je vynásobení všech číslic prvního čísla nejméně významnou číslicí druhého čísla. Výsledek násobení zapíšeme níže, v tomto případě je nutné jej zapsat tak, aby se výsledek násobení zapsal pod každou odpovídající číslici.
    3. Nyní musíme vynásobit všechny číslice prvního čísla další číslicí druhého čísla a výsledek napsat o řádek níže, ale tento výsledek je třeba posunout o jednu číslici doleva, pokud se podíváte do tabulky, toto je druhá sekvence nul odshora.
    4. Totéž musíte udělat pro následující číslice, pokaždé se posunete o jednu číslici doleva, a když se podíváte na tabulku, můžete říci, že o jednu buňku doleva.
    5. Dostali jsme čtyři binární čísla, která nyní musíme sečíst a získat výsledek. Navíc jsme nedávno zvažovali, že problémy by neměly nastat.

    Obecně operace násobení není tak náročná, jen je potřeba trochu cvičit.

    Operace booleovské algebry

    V Booleově algebře existují dva velmi důležité pojmy: pravda (pravda) a nepravda (nepravda), ekvivalenty pro ně jsou nula a jedna v binární číselné soustavě. Operátory booleovské algebry rozšiřují počet dostupných operátorů na těchto hodnotách, pojďme se na ně podívat.

    Operace "Logický AND" nebo AND

    Operace "Logický AND" nebo AND je ekvivalentní násobení jednobitových binárních čísel.

    1 AND 1 = 1; 1 A 0 = 1; 0 A 0 = 0; 0 A 1 = 0.

    1 AND 1 = 1;

    1 A 0 = 1;

    0 AND 0 = 0;

    0 A 1 = 0.

    Výsledek "Logical AND" bude jedna pouze v případě, že se obě hodnoty rovnají jedné, ve všech ostatních případech bude nula.

    Operace "Logické OR" nebo OR

    Operace "Logické OR" nebo OR funguje podle následujícího principu: pokud je alespoň jedna hodnota rovna jedné, bude výsledek jedna.

    1 NEBO 1 = 1; 1 NEBO = 1; 0 NEBO 1 = 1; 0 NEBO 0 = 0.

    1 NEBO 1 = 1;

    1 NEBO = 1;

    0 NEBO 1 = 1;

    0 NEBO 0 = 0.

    Operace XOR

    Operace XOR neboli XOR nám dá výsledek jedna pouze v případě, že jeden z operandů je roven jedné a druhý je roven nule. Pokud jsou oba operandy nula, bude to nula, a i když se oba operandy rovnají jedné, výsledek bude nula.

    Chcete-li rychle převést čísla z desítkové na binární, musíte dobře znát čísla "2 na mocninu". Například 2 10 \u003d 1024 atd. To vám umožní vyřešit některé příklady pro překlad během několika sekund. Jedním z těchto úkolů je úkol A1 z dema USE 2012. Číslo můžete samozřejmě dlouze a zdlouhavě dělit „2“. Ale je lepší se rozhodnout jinak a ušetřit tak drahocenný čas na zkoušce.

    Metoda je velmi jednoduchá. Jeho podstatou je toto: jestliže číslo, které se má převést z desítkové soustavy, je rovno číslu "2 na mocninu", pak toto číslo ve dvojkové soustavě obsahuje počet nul rovný mocnině. Před tyto nuly přidáme "1".

    • Přeložme si číslo 2 z desítkové soustavy. 2=21. Ve dvojkové soustavě tedy číslo obsahuje 1 nulu. Položíme "1" dopředu a dostaneme 10 2 .
    • Přeložíme 4 z desítkové soustavy. 4=22. Ve dvojkové soustavě tedy číslo obsahuje 2 nuly. Položíme "1" dopředu a dostaneme 100 2.
    • Přeložíme 8 z desítkové soustavy. 8=23. Ve dvojkové soustavě tedy číslo obsahuje 3 nuly. Dáme "1" dopředu a dostaneme 1000 2.


    Podobně pro další čísla "2 k síle".

    Pokud je číslo k překladu menší než číslo "2 na mocninu" o 1, pak se v binárním systému toto číslo skládá pouze z jednotek, jejichž počet se rovná mocnině.

    • Přeložíme 3 z desítkové soustavy. 3=22-1. Ve dvojkové soustavě tedy číslo obsahuje 2 jedničky. Dostáváme 112.
    • Přeložíme 7 z desítkové soustavy. 7=23-1. Ve dvojkové soustavě tedy číslo obsahuje 3 jedničky. Dostáváme 1112.

    Čtverečky na obrázku označují binární reprezentaci čísla a nalevo je desetinné znázornění růžové.


    Překlad je podobný pro ostatní čísla „2 na mocninu -1“.

    Je jasné, že překlad čísel od 0 do 8 lze provést rychle nebo dělením, nebo prostě znát nazpaměť jejich reprezentaci ve dvojkové soustavě. Tyto příklady jsem uvedl proto, abyste pochopili princip této metody a použili ji k překladu „působivějších čísel“, například k překladu čísel 127,128, 255, 256, 511, 512 atd.

    S takovými úkoly se můžete setkat, když potřebujete přeložit číslo, které se nerovná číslu „2 k síle“, ale je mu blízké. Může být větší nebo menší než číslo „2 na mocninu“. Rozdíl mezi přeloženým číslem a číslem "2 na mocninu" by měl být malý. Například do 3. Reprezentace čísel od 0 do 3 ve dvojkové soustavě by měla být jednoduše známa bez překladu.

    Pokud je číslo větší než , řešíme to takto:

    Nejprve přeložíme číslo "2 na mocninu" do dvojkové soustavy. A pak k němu přičteme rozdíl mezi číslem „2 na mocninu“ a přeloženým číslem.

    Přeložme například 19 z desítkové soustavy. Je větší než čí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 .

    Pokud je číslo menší než číslo "2 na mocninu", pak je výhodnější použít číslo "2 na mocninu -1". Rozhodneme se takto:

    Nejprve přeložíme číslo "2 na mocninu -1" do dvojkové soustavy. A pak od něj odečtěte rozdíl mezi číslem "2 na mocninu -1" a přeloženým číslem.

    Přeložme například 29 z desítkové soustavy. Je větší než čí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

    Pokud je rozdíl mezi přeloženým číslem a číslem "2 na mocninu" větší než tři, můžete číslo rozdělit na komponenty, každou část převést na binární systém a přidat.

    Například přeložte číslo 528 z desítkové soustavy. 528=512+16. Překládáme samostatně 512 a 16.
    512=2 9 . 512 10 =1000000000 2 .
    16=2 4 . 16 10 =10000 2 .
    Teď to složíme:

    V jednom z našich materiálů jsme uvažovali o definici . Má nejkratší abecedu. Pouze dvě číslice: 0 a 1. Příklady abeced pozičních číselných soustav jsou uvedeny v tabulce.

    Poziční číselné soustavy

    Název systému

    Základna

    Abeceda

    Binární

    trojice

    Kvartérní

    pětinásobný

    osmičkový

    Desetinný

    0,1,2,3,4,5,6,7,8,9

    duodecimální

    0,1,2,3,4,5,6,7,8,9,A,B

    Hexadecimální

    0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

    třicet šest

    0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G, H,I,J,K,L,M,N,O, P,R,S,T,U,V,X,Y,Z


    Pro převod malého čísla z desítkové na binární a naopak je lepší použít následující tabulku.

    Tabulka pro převod desítkových čísel od 0 do 20 do binární číselné soustavy.

    desetinný

    číslo

    binární číslo

    desetinný

    číslo

    binární číslo


    Tabulka se však ukáže být obrovská, pokud tam napíšete všechna čísla. Najít mezi nimi správné číslo bude složitější. Je mnohem snazší zapamatovat si několik algoritmů pro převod čísel z jednoho pozičního číselného systému do druhého.


    Jak převést z jedné číselné soustavy do druhé? V informatice existuje několik jednoduchých způsobů, jak převést desetinná čísla na binární čísla. Uvažujme o dvou z nich.

    Metoda číslo 1.

    Řekněme, že chcete přeložit číslo 637 z desítkové soustavy na dvojkovou soustavu.


    To se provádí následovně: zjistí se maximální mocnina dvou tak, aby dvě v této mocnině byly menší nebo rovné původnímu číslu.


    V našem případě je to 9, protože 2 9 =512 , A 2 10 =1024 , což je větší než naše počáteční číslo. Tak jsme dostali počet číslic výsledku. Je to rovno 9+1=10. To znamená, že výsledek bude vypadat jako 1ххххххххх, kde místo x může být 1 nebo 0.


    Najděte druhou číslici výsledku. Umocněme dvojku na 9 a odečteme od původního čísla: 637-2 9 =125. Poté porovnejte s číslem 2 8 =256 . Protože 125 je menší než 256, devátý bit bude 0, tzn. výsledek již bude mít tvar 10хххххххх.


    2 7 =128 > 125 , takže osmá číslice bude nula.


    2 6 =64 , pak se sedmá číslice rovná 1. 125-64=61 Obdrželi jsme tedy čtyři číslice vyššího řádu a číslo bude vypadat jako 10011ххххх.


    2 5 =32 a uvidíte, že 32< 61, значит шестой разряд равен 1 (результат 100111хххх), остаток 61-32=29.


    2 4 =16 < 29 - pátá číslice 1 => 1001111xxx. Zbytek 29-16=13.


    2 3 =8 < 13 => 10011111xx. 13-8=5


    2 2 =4 < 5 => 10011111xx, zbytek 5-4=1.


    2 1 =2 > 1 => 100111110x, zbytek 2-1=1.


    2 0 =1 => 1001111101.


    To bude konečný výsledek.

    Metoda číslo 2.

    Pravidlo pro převod celých desítkových čísel na binární číselnou soustavu je:

    1. Pojďme se rozdělit a n−1 a n−2 ...a 1 a 0 =a n−1⋅2 n−1 +a n−2⋅2 n−2 +...+a 0⋅2 0 na 2.
    2. Kvocient bude an-1⋅2n−2+...+a1 a zbytek bude
    3. Výsledný podíl se opět vydělí 2, zbytek dělení bude roven a1.
    4. Pokud budeme pokračovat v tomto procesu dělení, pak v n-tém kroku dostaneme sadu čísel: a 0 ,a 1 ,a 2 ,...,a n−1, které jsou zahrnuty v binární reprezentaci původního čísla a shodují se se zbytky, když je postupně děleno 2.
    5. Pro převod dekadického celého čísla na binární číselnou soustavu je tedy potřeba postupně dělit dané číslo a výsledné celočíselné podíly 2, dokud nedostaneme podíl, který se bude rovnat nule.

    Původní číslo v binárním číselném systému je sestaveno sekvenčním záznamem výsledných zbytků. Začneme jej psát od posledního nalezeného.


    Převést desetinné číslo 11 do dvojkové soustavy. Posloupnost akcí zvažovaných výše (algoritmus překladu) lze znázornit následovně:


    Mám 11 10 =1011 2 .

    Příklad:

    Pokud je desetinné číslo dostatečně velké, pak je pohodlnější následující způsob zápisu výše uvedeného algoritmu:



    363 10 =101101011 2



    Nejběžnější výpočetní metody v moderním světě jsou desítkové a binární. Používají se ve zcela odlišných oblastech, ale obě jsou stejně důležité. Často je také vyžadován převod z binárního na desítkové nebo naopak. Jména pocházejí ze základů, které závisí na tom, kolik znaků je použito při psaní čísel. V binární soustavě je to pouze 0 a 1 a v desítkové soustavě od 0 do 9. V jiných systémech se kromě čísel používají písmena, jiné ikony a dokonce i hieroglyfy, ale téměř všechny jsou již dávno zastaralé. Vzhledem k tomu, že i další varianty číselných soustav jsou mnohem méně obvyklé, zaměříme se především na již zmíněné dvě. Je opravdu úžasné, jak se tohle všechno mohlo objevit. Promluvme si o tomto tématu samostatně.

    Historie výskytu

    Dokonce i nyní, kdy by se zdálo, že celý svět uvažuje stejně, existují velmi odlišné systémy. V nejodlehlejších koutech zeměkoule se spokojí jen s pojmy „jeden“, „dva“ a „mnoho“ nebo něco podobného. Co říci o dobách, kdy bylo pro lidi mnohem obtížnější se navzájem kontaktovat, a tak se používalo obrovské množství různých typů záznamů a metod výpočtu. Lidstvo nepřišlo hned na stávající systém a to se projevuje tím, že hodina je rozdělena na 60 minut a ne na 100 časových intervalů, což by se zdálo být logičtější. A přitom lidé často počítají po desítkách než po desítkách. To vše jsou ozvěny doby, kdy vlastní prsty nebo třeba falangy některých z nich sloužily jako nástroje pro kvantifikaci něčeho. Tak vznikly desítkové a duodecimální soustavy. Jak ale dvojhvězda vznikla? Velmi jednoduché a logické. Faktem je, že například diody mají pouze dvě polohy: může být buď zapnutá, nebo vypnutá. První stav lze tedy zapsat jako 1 a druhý jako 0. To však neznamená, že binární systém vznikl současně s elektronickými zařízeními. Používal se mnohem dříve, například Leibniz to považoval za mimořádně pohodlné, elegantní a jednoduché. Je dokonce s podivem, že tento číselný systém se nakonec nestal tím hlavním.

    Aplikace

    Pro většinu lidí se tyto dva hlavní číselné systémy jednoduše nepřekrývají. Převod z binárního na desítkové je tedy úkol, který není proveditelný pro každého. Faktem je, že posledně jmenovaný systém se používá v každodenním životě, komunikaci mezi lidmi, s jednoduchými výpočty atd. Ale všechna digitální zařízení, především počítače, mluví binárním jazykem. Jakákoli informace, která je v paměti každého stolního PC, tabletu, telefonu, notebooku a mnoha dalších zařízení, je různými kombinacemi nul a jedniček.

    Rozdíly a vlastnosti

    Pokud jde o číselné soustavy, je nutné je nějak rozlišovat. Rozlišit 11 nebo 100 v různých způsobech záznamu je totiž naprosto nemožné jen tak. Proto se používá ukazatel pod a napravo od samotného čísla. Takže, když uvidíte záznam 11 2 nebo 100 10, můžete pochopit, co je v sázce. Oba systémy jsou poziční, to znamená, že jeho hodnota závisí na místě konkrétní číslice. O cifrách desítkové soustavy se ve škole mluví: jsou jednotky, desítky, stovky, tisíce atd. V dvojkové soustavě je vše při starém. Ale vzhledem k tomu, že jeho základ - 2 - je menší než 10, potřebuje mnohem více číslic, to znamená, že záznam čísel je mnohem delší. Mimochodem, v binárním systému, stejně jako ve všech ostatních systémech, s výjimkou desítkové, jako nejběžnější, probíhá čtení zvláštním způsobem. Pokud základ 10 umožňuje číst 101 jako "sto jedna", pak pro 2 to bude "jedna nula jedna".

    Vrátíme-li se k problematice výbojů, je třeba zopakovat, že vzhledem k mnohem menší základně je zapotřebí více výbojů. Takže například 8 10 je 1 000 2 . Rozdíl je zřejmý – jedna číslice a čtyři. Dalším velkým rozdílem je, že ve dvojkové soustavě nejsou žádná záporná čísla. Samozřejmě si to můžete zapsat, ale stejně to bude uloženo a zašifrováno jiným způsobem. Jak tedy probíhá překlad z dvojkové soustavy do desítkové soustavy a naopak?

    Algoritmus

    Zřídka, ale přesto někdy musíte provést přechod z jedné základny na druhou. Jinými slovy, je potřeba převádět z binárního na desítkové a naopak. Moderní počítače to dělají snadno a rychle, i když jsou záznamy velmi dlouhé a objemné. Lidé to dokážou také, i když mnohem pomaleji a méně efektivně. Provést jak jednu, tak druhou operaci není tak těžké, ale vyžaduje se znalost, jak na to, pozornost a praxe. Chcete-li přejít ze základny 2 na základnu 10, musíte provést následující kroky:

    2) postupně vynásobte hodnotu 2 umocněnou číslu pozice;

    3) sečtěte výsledky.

    Dalším způsobem je začít sčítat součiny čísel postupně zprava doleva. Toto se nazývá Hornerova transformace a mnohým se zdá být pohodlnější než obvyklý algoritmus.

    Chcete-li provést opačnou operaci, to znamená přepnout z desítkové soustavy na binární, musíte provést následující:

    1) vydělte původní číslo 2 a zapište zbytek (1 nebo 0);

    2) opakujte krok 1, dokud nezůstane pouze 0 nebo 1;

    3) zapište získané hodnoty v pořadí.

    Existují i ​​jiné způsoby převodu z binárního na desítkové a naopak. Oproti popsanému algoritmu však nemají žádnou výhodu, nejsou efektivnější. Vyžadují však schopnost provádět aritmetické operace v binárním systému, což je dostupné jen velmi málo.

    Zlomky

    Naštěstí či bohužel faktem zůstává, že ve dvojkové soustavě se nepoužívají pouze celá čísla. Překlad zlomků není příliš náročný, ale pro člověka často pracný úkol. Pokud je původní číslo zastoupeno v desítkové soustavě, pak po převodu celého čísla by se již nemělo vše za desetinnou čárkou dělit, ale násobit 2, přičemž se zapisují celé části. Pokud převádíte z binárního na desítkové, pak je vše ještě jednodušší. V tomto případě, když začne převod desetinné čárky, výkon, na který se 2 zvýší, bude postupně -1, -2, -3 atd. Nejlepší je zvážit to v praxi.

    Příklad

    Abyste pochopili, jak aplikovat popsané algoritmy, musíte všechny operace provést sami. Praxe může vždy posílit teorii, takže je nejlepší zvážit následující příklady:

    • převod 1000101 2 na desítkové: 1x2 6 + 0x2 5 + 0x2 4 + 0x2 3 + 1x2 2 + 0x2 1 + 1x2 0 = 64+0+0+0+4+1 = 69 10;
    • pomocí Hornerovy metody. 00110111010 2 = 0x2+0=0x2+0=0x2+1=1x2+1=3x2+0=6x2+1=13x2+1=27x2+1=55x2+0=110x2+1=221x2+0=442 10 ;
    • 1110,01 2: 1x2 3 + 1x2 2 + 1x2 1 + 0x2 0 + 0x2 -1 + 1x2 -2 \u003d 8 + 4 + 2 + 0,25 \u003d 14,25 10;
    • z desítkové soustavy: 15 10 = 15/2=7(1)/2=3(1)/2=1(1)/2=0(1)= 1111 2 ;

    Jak se nenechat zmást?

    I na příkladu pouze binárních a desítkových soustav je zřejmé, že ruční změna základny není triviální úkol. Existují však i další: šestnáctkové, osmičkové, šestinásobné atd. Při ručním převodu z jedné číselné soustavy do druhé je nanejvýš nutná opatrnost. Je opravdu těžké nenechat se zmást, zvláště pokud je příspěvek dlouhý. Navíc nesmíme zapomenout, že číslice se počítají od 0, nikoli od 1, to znamená, že počet číslic bude vždy o jednu více. Samozřejmě musíte pečlivě počítat počet číslic a nedělat chyby v aritmetických operacích a samozřejmě nepřeskakovat kroky v algoritmu. Nakonec existují způsoby, jak programově přecházet mezi bázemi. Zde je ale jednodušší napsat scénář sám, než jej hledat v rozlehlosti celosvětové sítě. V každém případě by měly být také dovednosti manuálního překladu a také teoretické porozumění tomu, jak se to dělá.

    Návod

    Související videa

    V systému počítání, který používáme každý den, je deset číslic – od nuly do devíti. Proto se tomu říká desítkové. V technických výpočtech, zejména těch, které se týkají počítačů, však jiné systémy, konkrétně binární a hexadecimální. Proto musíte umět překládat čísla od jednoho systémy počítání s jiným.

    Budete potřebovat

    • - kousek papíru;
    • - tužka nebo pero;
    • - kalkulačka.

    Návod

    Binární systém je nejjednodušší. Má pouze dvě číslice – nulu a jedničku. Každá číslice binárního čísla čísla, počínaje koncem, odpovídá mocnině dvou. Dvě se rovná jedné, první se rovná dvěma, druhé se rovná čtyřem, třetí se rovná osmi a tak dále.

    Předpokládejme, že je vám přiděleno binární číslo 1010110. Jednotky v něm jsou na druhém, třetím, pátém a sedmém místě od konce. Takže v desítkové soustavě je toto číslo 2^1 + 2^2 + 2^4 + 2^6 = 2 + 4 + 16 + 64 = 86.

    Inverzní úloha - desítková čísla Systém. Předpokládejme, že máte číslo 57. Chcete-li získat jeho záznam, musíte toto číslo postupně vydělit dvěma a zapsat zbytek dělení. Binární číslo bude sestaveno od konce do začátku.
    V prvním kroku získáte poslední číslici: 57/2 = 28 (zbytek 1).
    Pak dostanete druhý od konce: 28/2 = 14 (zbytek 0).
    Další kroky: 14/2 = 7 (zbytek 0);
    7/2 = 3 (zbytek 1);
    3/2 = 1 (zbytek 1);
    1/2 = 0 (zbytek 1).
    Toto je poslední krok, protože výsledek dělení je nula. Výsledkem je binární číslo 111001.
    Zkontrolujte, zda je vaše odpověď správná: 111001 = 2^0 + 2^3 + 2^4 + 2^5 = 1 + 8 + 16 + 32 = 57.

    Druhý, používaný v počítačových záležitostech, je hexadecimální. Nemá deset, ale šestnáct číslic. Aby se předešlo novým konvencím, prvních deset číslic šestnáctkové soustavy systémy jsou označeny běžnými čísly a zbývajících šest - latinskými písmeny: A, B, C, D, E, F. odpovídají desítkovému zápisu čísla m od 10 do 15. Aby nedošlo k záměně, před číslem zapsaným v šestnáctkové soustavě je znak # nebo 0x znaků.

    Na číslování z šestnáctkové soustavy systémy, musíte vynásobit každou jeho číslici odpovídající mocninou šestnácti a sečíst výsledky. Například #11A v desítkovém zápisu je 10*(16^0) + 1*(16^1) + 1*(16^2) = 10 + 16 + 256 = 282.

    Opačný překlad z desítkové soustavy systémy na hexadecimální se provádí stejnou metodou zbytků jako v binárním. Vezměte například číslo 10000. Postupným dělením 16 a zapsáním zbytku získáte:
    10 000/16 = 625 (zbytek 0).
    625/16 = 39 (zbytek 1).
    39/16 = 2 (zbytek 7).
    2/16 = 0 (zbytek 2).
    Výsledkem výpočtu bude hexadecimální číslo #2710.
    Zkontrolujte svou odpověď: #2710 = 1*(16^1) + 7*(16^2) + 2*(16^3) = 16 + 1792 + 8192 = 10 000.

    Převod čísla z šestnáctkové soustavy systémy binární je mnohem jednodušší. Číslo 16 je dvojka: 16 = 2^4. Proto lze každou hexadecimální číslici zapsat jako čtyřmístné binární číslo. Pokud získáte méně než čtyři číslice v binárním kódu, přidejte na začátek nuly.
    Například #1F7E = (0001)(1111)(0111)(1110) = 1111101111110.
    Zkontrolujte, zda je vaše odpověď správná: obojí čísla v desítkovém zápisu jsou 8062.

    Chcete-li přeložit, musíte rozdělit binární číslo do skupin po čtyřech číslicích, počínaje koncem, a nahradit každou takovou skupinu hexadecimální číslicí.
    Například 11000110101001 se změní na (0011)(0001)(1010)(1001), což je v šestnáctkové soustavě #31A9. Správnost odpovědi se potvrdí převodem na desítkový zápis: obojí čísla se rovnají 12713.

    Rada 5: Jak převést číslo na binární

    Vzhledem k omezenému použití symbolů je binární systém nejvhodnější pro použití v počítačích a dalších digitálních zařízeních. Existují pouze dva znaky: 1 a 0, takže toto Systém používané v registrech.

    Návod

    Binární je poziční, tzn. pozice každé číslice v čísle odpovídá určité číslici, která se v odpovídajícím stupni rovná dvěma. Stupeň začíná na nule a zvyšuje se při pohybu zprava doleva. Například, číslo 101 se rovná 1*2^0 + 0*2^1 + 1*2^2 = 5.

    Mezi pozičními systémy jsou také široce používány osmičkové, šestnáctkové a desítkové soustavy. A pokud je druhá metoda více použitelná pro první dvě, pak pro překlad z jsou použitelné obě.

    Zvažte dekadické číslo na binární Systém metoda postupného dělení 2. Přeložit desetinné číslo 25 palců