• Hexadecimální kód. Hexadecimální a binární číselné soustavy

    Mnoho uživatelů počítačů chápe, že počítač pracuje v binárním systému. Tradičně jsou stavy binárního systému reprezentovány čísly 0 a 1, i když přesněji každý stav označuje přítomnost nebo nepřítomnost signálu, tj. správnější by bylo nazývat stavy „vypnuto“ a „zapnuto“. nebo „ne“ a „ano“. Stav „vypnuto“ nebo „ne“ odpovídá číslu 0 a stav „zapnuto“ nebo „ano“ odpovídá číslu 1. Běžní uživatelé Obvykle není nutné úplně rozumět struktuře počítače, ale binární číselná soustava se projevuje v podobě různých omezení založených na mocnině dvou. Kompaktnější verze binárního systému se nazývá hexadecimální. Číslo šestnáct je čtvrtá mocnina dvojky. Z toho vyplývá, že je celkem snadné převést dlouhé binární posloupnosti nul a jedniček na krátké hexadecimální. K tomu stačí rozdělit binární posloupnost do skupin po čtyřech číslicích (číslice) počínaje nejméně významnou číslicí (vpravo) a nahradit každou skupinu odpovídající hexadecimální hodnotou.

    Hexadecimální systém se obvykle používá pro usnadnění vnímání binárních dat, protože překlady z hexadecimálních do binárních a naopak se provádějí jednoduchým nahrazením řetězců. Počítač pracuje výhradně s binárními posloupnostmi a hexadecimální zápis této posloupnosti je čtyřikrát kompaktnější, protože tento systém má základ 16 (2 16) a binární 2. Binární posloupnost může být značně těžkopádná. Například zápis čísla 513 vyžaduje deset binárních číslic (1000000001), zatímco šestnáctkové pouze tři (201). K reprezentaci hexadecimálních čísel je však potřeba šestnáct různé postavy, a ne deset, které se používají v desítkové číselné soustavě, na kterou jsme zvyklí. Prvních deset znaků jsou znaky v rozsahu od 0 do 9, zbytek jsou písmena latinské abecedy v rozsahu od A do F. Písmena se obvykle (ale ne vždy) píší velká (velká) v hexadecimálním zápisu čísla. . Prvních deset znaků (od 0 do 9) se zapisuje stejně jako číslice v desítkové číselné soustavě a odpovídá jim. Písmena v rozsahu A až F odpovídají hodnotám v rozsahu 10 až 15.

    Zvažte shodu čísel od 0 do 15 s hexadecimálními a binárními číselnými soustavami.

    Desetinný zápis Hexadecimální zápis Binární zápis
    0 0 0000
    1 1 0001
    2 2 0010
    3 3 0011
    4 4 0100
    5 5 0101
    6 6 0110
    7 7 0111
    8 8 1000
    9 9 1001
    10 A 1010
    11 B 1011
    12 C 1100
    13 D 1101
    14 E 1110
    15 F 1111

    Záznamy 10, 11 atd. v desítkové, binární a šestnáctkové soustavě se neshodují. Vezměme si malý příklad. Nechte nás hexadecimální čísločíslo 1A5E. pro převod do binární zápis jednoduše nahraďte hexadecimální číslice odpovídajícími binárními skupinami. Vyjde to 0001 1010 0101 1110. Pokud před číslem odstraníme nepodstatné nuly a napíšeme ho bez oddělovačů, dostaneme 1101001011110. Pro obrácený překlad rozdělíme číslo do skupin po čtyřech číslicích počínaje nejnižší (vpravo strana), a také pro pohodlí přidáváme nevýznamné nuly seniorská skupina až 4 číslice. Dostaneme 0001 1010 0101 1110. Skupiny nahradíme odpovídajícími hexadecimální hodnoty, dostaneme 1A5E.

    Chcete-li převést šestnáctkové číslo na desítkové zobrazení, můžete použít schéma, podle kterého zapisujeme desítková čísla. V desítkovém čísle každá číslice označuje odpovídající mocninu deseti, počínaje nulou a rostoucí zprava doleva. Například, desetinné číslo 123 znamená 1*102 + 2*101 + 3*100. Obdobnou metodou převedeme číslo 1A5E do desítkové číselné soustavy. V hexadecimální soustavě i v desítkové soustavě každá číslice označuje odpovídající mocninu šestnáctky, počínaje nulou a rostoucí zprava doleva. Znaky 1 a 5 v šestnáctkové soustavě odpovídají hodnotám 1 a 5 v desítkové soustavě a znaky A a E odpovídají 10 a 14. Potom lze 1A5E reprezentovat v desítkové soustavě jako 1*16 3 + 10*16 2 + 5 *16 1 + 14 * 16 0 = 6750. Pro vyhodnocení hexadecimálních čísel však není vůbec nutné je převádět na desítková. Pravidla pro porovnávání, sčítání a násobení jsou v této soustavě stejná jako v desítkové soustavě, hlavní je nezapomenout, že každá číslice může obsahovat hodnoty od 0 do 15. Více rychlý přenosčíslo mezi číselným systémem, který můžete použít standardní kalkulačka ve Windows k tomu stačí vybrat číselný systém v pokročilém režimu kalkulačky, zadat do něj číslo a vybrat požadovaný systém kalkul, ve kterém se zobrazí výsledek.

    Vzhledem k tomu, že hexadecimální čísla, která se skládají pouze z čísel, lze snadno zaměnit s desetinnými čísly, jsou obvykle označena tak, aby bylo jasné, že se používá hexadecimální zápis. Hexadecimální položky se obvykle označují buď přidáním malého písmene 'h' na konec, nebo přidáním '0x' před číslo. Hexadecimální číslo 1A5E lze tedy zapsat jako 1A5Eh nebo 0x1A5E, kde "h" na konci nebo "0x" na začátku značí, že se používá hexadecimální zápis.

    Vznikl ve starověkém Babylonu. V Indii systém funguje ve formě pozičního desítkového číslování pomocí nuly, pro Indy tento systémčísla si vypůjčil arabský národ, oni je zase vzali Evropané. V Evropě se tomuto systému začalo říkat arabština.

    Polohový systémzúčtování- hodnota všech číslic závisí na pozici (číslici) této číslice v čísle.

    Příklady, standardní desítková číselná soustava je poziční soustava. Řekněme, že vám bylo přiděleno číslo453 . Číslo 4 znamená stovky a odpovídá číslu400, 5 - počet desítek a odpovídá hodnotě50 , A 3 - jednotky a hodnota3 . Je snadné vidět, že jak se číslice zvyšuje, hodnota se zvyšuje. Dané číslo tedy zapíšeme jako součet400+50+3=453.

    Hexadecimální číselná soustava.

    Hexadecimální číselná soustava(hexadecimální čísla) - poziční číselná soustava. Základ hexadecimální číselné soustavy je číslo 16.

    Zapisování čísel osmičková číselná soustava dostáváme poměrně kompaktní výrazy, ale v šestnáctkové soustavě dostáváme výrazy kompaktnější.

    Prvních deset číslic ze šestnácti hexadecimálních číslic tvoří standardní mezery 0 - 9 , dalších šest číslic je vyjádřeno pomocí prvních písmen latinské abecedy: A, B, C, D, E, F. Převod z hexadecimální soustavy do dvojkové soustavy a do opačná strana udělat stejný postup pro osmičkový systém.

    Aplikace hexadecimální číselné soustavy.

    Hexadecimální číselná soustava se docela dobře používá moderní počítače, Například s jeho pomocí označte barvu: #FFFFFF- Bílá barva.

    Převod čísel z jedné číselné soustavy do druhé.

    Převod čísel z hexadecimálních na desítkové.

    Chcete-li převést hexadecimální číslo na desetinný, musíte dané číslo uvést do tvaru součtu součinů stupňů základu šestnáctkové číselné soustavy odpovídajícími číslicemi v číslicích hexadecimálního čísla.

    Například, přeložte hexadecimální číslo 5A3 na desítkové. Tady 3 čísla. Na základě výše uvedeného pravidla jej přivedeme do tvaru součtu stupňů se základem 16:

    5A3 16 = 3 16 0 +10 16 1 +5 16 2 = 3 1+10 16+5 256 = 3+160+1280 = 1443 10

    Převeďte čísla z binárních do šestnáctkových a naopak.

    Chcete-li přeložit více hodnot binární číslo do hexadecimální soustavy, musíte ji rozdělit na tetrády zprava doleva a změnit všechny tetrády odpovídajících hexadecimální číslice. Chcete-li převést číslo z hexadecimální soustavy na binární, musíte změnit každou ze všech číslic na odpovídající tetrády z překladové tabulky, kterou najdete níže.

    Například:

    010110100011 2 = 0101 1010 0011 = 5A3 16

    Konverzní tabulka čísel.

    Algoritmus pro převod čísel z jedné číselné soustavy do druhé.

    1. Od desítková soustavaúčtování:

    • číslo vydělíme základem překládaného číselného systému;
    • najděte zbytek z dělení celé části čísla;
    • zapište všechny zbytky dělení v opačném pořadí;

    2. Z binární číselné soustavy:

    • pro převod do desítkové číselné soustavy najdeme součet součinů základu 2 odpovídajícím stupněm vybití;
    • abychom převedli číslo na osmičkovou, rozdělíme číslo na trojice.

    Například 1000110 = 1000 110 = 1068

    • pro převod čísla z binárního na hexadecimální číslo rozdělíme do skupin po 4 číslicích.

    Například 1000110 = 100 0110 = 4616.

    Překladové tabulky:

    Binární SS

    Hexadecimální SS

    0000

    0001

    0010

    0011

    0100

    0101

    0110

    0111

    1000

    1001

    1010

    1011

    1100

    1101

    1110

    1111

    Binární SS

    Výsledek se již dostavil!

    Číselné soustavy

    Existují poziční a nepoziční číselné soustavy. Arabský číselný systém, který používáme v každodenním životě, je poziční, zatímco římský nikoli. V poziční systémy V počítání pozice čísla jednoznačně určuje velikost čísla. Zvažte to na příkladu čísla 6372 v desítkové soustavě čísel. Očíslujme toto číslo zprava doleva počínaje nulou:

    Pak může být číslo 6372 reprezentováno takto:

    6372=6000+300+70+2 =6 10 3 +3 10 2 +7 10 1 +2 10 0 .

    Číslo 10 definuje číselnou soustavu (v tento případ je 10). Hodnoty polohy daného čísla jsou brány jako stupně.

    Uvažujme skutečné desetinné číslo 1287,923. Číslováme od nulové pozice čísla od desetinné čárky doleva a doprava:

    Pak číslo 1287.923 může být reprezentováno jako:

    1287,923 =1000+200+80 +7+0,9+0,02+0,003 = 1 10 3 +2 10 2 +8 10 1 +7 10 0 +9 10 -1 +2 10 -2 +3 10 -3 .

    Obecně lze vzorec reprezentovat takto:

    C n s n + C n-1 s n-1 +...+C1 s 1 + C 0 s 0 + D -1 s -1 + D -2 s -2 + ... + D -k s -k

    kde C n je celé číslo na pozici n, D -k - zlomkové číslo na pozici (-k), s- číselný systém.

    Pár slov o číselných soustavách Číslo v desítkové číselné soustavě se skládá ze sady číslic (0,1,2,3,4,5,6,7,8,9), v osmičkové soustavě se skládá z sada číslic (0,1, 2,3,4,5,6,7), v binární soustavě - ze sady číslic (0,1), v hexadecimální číselné soustavě - ze sady číslic (0, 1,2,3,4,5,6, 7,8,9,A,B,C,D,E,F), kde A,B,C,D,E,F odpovídají číslům 10,11, 12,13,14,15. V tabulce 1 jsou uvedena čísla v různé systémy zúčtování.

    stůl 1
    Notový zápis
    10 2 8 16
    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

    Převod čísel z jedné číselné soustavy do druhé

    Pro převod čísel z jedné číselné soustavy do druhé je nejjednodušší převést číslo do desítkové číselné soustavy a poté z desítkové číselné soustavy převést do požadované číselné soustavy.

    Převod čísel z libovolné číselné soustavy do desítkové číselné soustavy

    Pomocí vzorce (1) můžete převést čísla z libovolné číselné soustavy na desítkovou číselnou soustavu.

    Příklad 1. Převeďte číslo 1011101.001 z binární číselné soustavy (SS) na desítkovou SS. Řešení:

    1 2 6 + 0 2 5 + 1 2 4 + 1 2 3 + 1 2 2 + 0 2 1 + 1 20 + 0 2-1+ 0 2-2+ 1 2-3 =64+16+8+4+1+1/8=93,125

    Příklad2. Převeďte číslo 1011101.001 z osmičkové číselné soustavy (SS) na desítkovou SS. Řešení:

    Příklad 3 . Převeďte číslo AB572.CDF z hexadecimálního na desítkové SS. Řešení:

    Tady A- nahrazeno 10, B- v 11, C- ve 12, F- v 15.

    Převod čísel z desítkové číselné soustavy do jiné číselné soustavy

    Chcete-li převést čísla z desítkové číselné soustavy do jiné číselné soustavy, musíte samostatně přeložit celočíselnou část čísla a zlomkovou část čísla.

    Celočíselná část čísla se překládá z desítkové SS do jiné číselné soustavy - postupným dělením celé části čísla základem číselné soustavy (pro binární SS - 2, pro 8-místné SS - 8, pro 16místný - o 16 atd. ) získat celý zbytek, menší než je základ SS.

    Příklad 4 . Přeložme číslo 159 z desítkové SS na binární SS:

    159 2
    158 79 2
    1 78 39 2
    1 38 19 2
    1 18 9 2
    1 8 4 2
    1 4 2 2
    0 2 1
    0

    Jak je vidět z Obr. 1, číslo 159, když je děleno 2, dává podíl 79 a zbytek je 1. Dále, číslo 79, když je děleno 2, dává podíl 39 a zbytek je 1, a tak dále. Výsledkem je, že sestavením čísla ze zbytku dělení (zprava doleva) dostaneme číslo v binárním SS: 10011111 . Proto můžeme napsat:

    159 10 =10011111 2 .

    Příklad 5 . Převeďme číslo 615 z desítkové SS na osmičkovou SS.

    615 8
    608 76 8
    7 72 9 8
    4 8 1
    1

    Při převodu čísla z desítkové SS na osmičkovou SS musíte číslo postupně dělit 8, dokud nezískáte zbytek celého čísla menší než 8. Výsledkem je, že sestavením čísla ze zbytku dělení (zprava doleva) získat číslo v osmičkovém SS: 1147 (viz obr. 2). Proto můžeme napsat:

    615 10 =1147 8 .

    Příklad 6 . Přeložme číslo 19673 z desítkové číselné soustavy na hexadecimální SS.

    19673 16
    19664 1229 16
    9 1216 76 16
    13 64 4
    12

    Jak je vidět z obrázku 3, postupným dělením čísla 19673 16 jsme dostali zbytky 4, 12, 13, 9. V hexadecimální soustavě čísel odpovídá číslu 12 C, číslu 13 - D. naše hexadecimální číslo je 4CD9.

    Chcete-li převést správná desetinná místa ( reálné číslo s nulovou celočíselnou částí) do číselné soustavy se základem s, toto číslo je třeba postupně násobit s, dokud není zlomková část čistá nula, nebo nezískáme požadovaný počet číslic. Pokud výsledkem násobení je číslo s celočíselnou částí jinou než nula, pak se tato celočíselná část nebere v úvahu (jsou postupně zahrnuty do výsledku).

    Podívejme se na výše uvedené s příklady.

    Příklad 7 . Přeložme číslo 0,214 z desítkové číselné soustavy na binární SS.

    0.214
    X 2
    0 0.428
    X 2
    0 0.856
    X 2
    1 0.712
    X 2
    1 0.424
    X 2
    0 0.848
    X 2
    1 0.696
    X 2
    1 0.392

    Jak je vidět z obr.4, číslo 0,214 se postupně násobí 2. Pokud je výsledkem násobení číslo s jinou celočíselnou částí než nula, pak se celá část zapisuje samostatně (vlevo od čísla), a číslo se zapisuje s nulovou celočíselnou částí. Pokud při vynásobení získáme číslo s nulovou celočíselnou částí, pak se nalevo od něj zapíše nula. Proces násobení pokračuje, dokud není v zlomkové části získána čistá nula nebo dokud není získán požadovaný počet číslic. Zápisem tučných čísel (obr. 4) shora dolů dostaneme požadované číslo ve dvojkové soustavě: 0. 0011011 .

    Proto můžeme napsat:

    0.214 10 =0.0011011 2 .

    Příklad 8 . Přeložme číslo 0,125 z desítkové číselné soustavy do dvojkové SS.

    0.125
    X 2
    0 0.25
    X 2
    0 0.5
    X 2
    1 0.0

    Pro převod čísla 0,125 z desítkové SS na binární se toto číslo postupně násobí 2. Ve třetí fázi bylo získáno 0. Proto byl získán následující výsledek:

    0.125 10 =0.001 2 .

    Příklad 9 . Přeložme číslo 0,214 z desítkové číselné soustavy na hexadecimální SS.

    0.214
    X 16
    3 0.424
    X 16
    6 0.784
    X 16
    12 0.544
    X 16
    8 0.704
    X 16
    11 0.264
    X 16
    4 0.224

    Podle příkladů 4 a 5 dostaneme čísla 3, 6, 12, 8, 11, 4. Ale v šestnáctkové soustavě SS čísla C a B odpovídají číslům 12 a 11. Máme tedy:

    0,21410 = 0,36C8B416.

    Příklad 10 . Přeložme číslo 0,512 z desítkové číselné soustavy do osmičkové SS.

    0.512
    X 8
    4 0.096
    X 8
    0 0.768
    X 8
    6 0.144
    X 8
    1 0.152
    X 8
    1 0.216
    X 8
    1 0.728

    Mám:

    0.512 10 =0.406111 8 .

    Příklad 11 . Přeložme číslo 159.125 z desítkové číselné soustavy na binární SS. K tomu přeložíme odděleně celočíselnou část čísla (příklad 4) a zlomkovou část čísla (příklad 8). Spojením těchto výsledků dostaneme:

    159.125 10 =10011111.001 2 .

    Příklad 12 . Přeložme číslo 19673.214 z desítkové číselné soustavy na hexadecimální SS. K tomu přeložíme odděleně celočíselnou část čísla (příklad 6) a zlomkovou část čísla (příklad 9). Další kombinací těchto výsledků dostáváme.