Hexadecimální kód. Ilustrovaný tutoriál o digitální grafice

Hexadecimální číselný systém má abecedu skládající se z 16 číslic:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, b, c, d, e, f.

Při zápisu čísla v šestnáctkové soustavě se písmena A, B, C, D, E, F používají postupně k zápisu číslic označujících čísla 10, 11, 12. 13, 14. 15.

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

Jakékoli šestnáctkové číslo můžete převést na desítkové pomocí již známého vzorce

Příklady.

    AE07 16 =10∙16 3 +14∙16 2 +0∙16 1 +7∙16 0 =44551 10 .

    100 16 =1∙16 2 +0∙16 1 +0∙16 0 =256 10 .

    58 16 =5∙16 1 +8∙16 0 =.88 10 .

    2A16=2∙161 +10∙160=42 10.

Převod čísla z desítkové soustavy do šestnáctkové se provádí stejným způsobem jako do dvojkové soustavy.

Převod čísel z hexadecimálních na binární a naopak

Jakékoli hexadecimální číslo můžete převést na binární následujícím způsobem. Každá číslice hexadecimálního čísla je zapsána jako čtyřmístné binární číslo - notebook. Poté mohou být nuly nalevo vyřazeny.

2) 2A= 0010 1010 2 = 101 010 2 .

3) 58 16 = 0101 1000 2 = 1011000 2 .

Stejným způsobem můžete naopak převést libovolné binární číslo na hexadecimální. Každé čtyři binární číslice, počítané zprava doleva, jsou zapsány jako jedna hexadecimální číslice. Tato čísla jsou také umístěna zprava doleva.

Příklady.

2. 101010 2 = 10 1010 2 = 2A.

3. 1011000 2 = 101 1000 2 = 58 16 .

Osmičková číselná soustava

Osmičková číselná soustava má abecedu skládající se z 8 číslic:

0, 1, 2, 3, 4, 5, 6, 7.

Převod čísla z desítkové soustavy do osmičkové a zpět se provádí stejným způsobem jako převod do/z dvojkové soustavy.

Převod čísel z osmičkové do dvojkové a zpět

Každá číslice osmičkového čísla je zapsána jako trojmístné binární číslo - trojice.

Příklady.

2563 8 = 010 101 110 011 2 =10101110011 2 .

1001101 2 = 001 001 101 2 = 115 8 .

Metodické materiály k laboratorní lekci č. 1

Téma laboratorní lekce: Číselné soustavy. Informace o měření.

Počet hodin: 2.

Příklady s řešením

    Překlad zp -ary system to 10-ary system. Předpokládejme, že potřebujeme převést číslo v určité číselné soustavě na desítkové. Chcete-li to provést, musíte jej reprezentovat ve formuláři

11100110 2 = 1∙2 7 + 1∙2 6 + 1∙2 5 + 0∙2 4 + 0∙2 3 + 1∙2 2 + 1∙2 1 + 0∙2 0 = 128 + 64 + 32 + 4 + 2 = 230 10 .

2401 5 = 2∙5 3 + 4∙5 2 + 0∙5 1 + 1∙5 0 = 250 + 100 + 0 + 1 = 351.

    Převod z 10místného systému nap -ichnaja.

2.1 98 10 → X 2.

Číslo vydělíme 2. Poté neúplný podíl vydělíme 2. Pokračujeme, dokud nebude neúplný podíl menší než 2, tzn. rovný 1.

    98: 2 = 49. Zbytek - 0 .

    49: 2 = 24. Zbytek - 1 .

    24: 2 = 12. Zbytek - 0 .

    12: 2 = 6. Zbytek - 0 .

    6: 2 = 3. Zbytek - 0 .

    3: 2 = 1 . Zbytek - 1 .

Protože poslední parciální podíl je 1, proces je u konce. Všechny zbytky zapíšeme zdola nahoru, počínaje posledním neúplným podílem, a dostaneme číslo 1100010. Takže 98 10 = 1100010 2.

2.2 2391 10 → 16 X.

Vydělte číslo 16. Poté vydělte parciální podíl 16. Pokračujte, dokud nebude parciální podíl menší než 16.

    2391: 16 = 149. Zbytek - 7 .

    149: 16 = 9 . Zbytek - 5 .

Protože poslední parciální kvocient (9) je menší než 16, proces je u konce. Zapíšeme, počínaje posledním neúplným kvocientem, všechny zbytky zdola nahoru a dostaneme číslo 957. Takže 2391 10 = 957 16.

2.3 12165 10 → X 2.

Pokud převedete dělením na binární systém, dostanete poměrně těžkopádný proces. Nejprve můžete převést číslo na osmičkové a poté nahradit osmičkové číslice zprava doleva trojicí.

12165 10 = 27605 8 = 010 111 110 000 101 = 10111110000101.

    Určení základu číselné soustavyp .

Jeden chlapec o sobě napsal: „Mám 24 prstů, 5 na každé ruce a 12 na nohou. Jak to může být?

Řešení. Je nutné určit základ číselné soustavy p. Protože víme, že existuje pouze 10 prstů na nohou 10, pak 12 p =1∙p+2 = 1010. Odtud dostaneme rovnici p + 2 = 10  p= 8. Chlapec tedy myslel čísla v osmičkové soustavě. Ve skutečnosti existuje 24 8 = 2∙8+4 = 20 10 prstů a 12 8 = 1∙8+2 = 10 10 prstů.

Používá se k reprezentaci čísel v mikroprocesoru binární číselná soustava.
V tomto případě může mít jakýkoli digitální signál dva stabilní stavy: „vysoká úroveň“ a „nízká úroveň“. V binárním číselném systému se k reprezentaci libovolného čísla používají dvě číslice: 0 a 1. Libovolné číslo x=a n a n-1 ..a 1 a 0 ,a -1 a -2 …a -m bude zapsán v binární číselné soustavě jako

x = a n ·2 n +a n-1 ·2 n-1 +…+a 1 ·2 1 +a 0 ·2 0 +a -1 ·2 -1 +a -2 ·2 -2 +…+a -m ·2 -m

Kde a i— binární číslice (0 nebo 1).

Osmičková číselná soustava

V osmičkovém číselném systému jsou základními číslicemi čísla od 0 do 7. 8 nižších čísel je sloučeno do vyššího řádu.

Hexadecimální číselná soustava

V hexadecimálním číselném systému jsou základními číslicemi čísla od 0 do 15 včetně. K označení základních číslic větších než 9 jedním symbolem se kromě arabských číslic 0...9 v hexadecimálním číselném systému používají písmena latinské abecedy:

10 10 = A 16 12 10 = C 16 14 10 = E 16
11 10 = B 16 13 10 = D 16 15 10 = F 16.

Například číslo 175 10 v hexadecimálním číselném systému bude zapsáno jako AF 16. Opravdu,

10·161 +15·160 =160+15=175

Tabulka zobrazuje čísla od 0 do 16 v desítkové, dvojkové, osmičkové a šestnáctkové soustavě.

Desetinný Binární Osmičková Hexadecimální
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

Binární-osmičkové a binárně-hexadecimální převody

Binární číselný systém je vhodný pro provádění aritmetických operací pomocí mikroprocesorového hardwaru, ale je nepohodlný pro lidské vnímání, protože vyžaduje velký počet číslic. Proto se ve výpočetní technice kromě binární číselné soustavy pro kompaktnější reprezentaci čísel široce používaly i osmičkové a šestnáctkové číselné soustavy.

Tři číslice osmičkové číselné soustavy implementují všechny možné kombinace osmičkových číslic v binární číselné soustavě: od 0 (000) do 7 (111). Chcete-li převést binární číslo na osmičkové, musíte zkombinovat binární číslice do skupin po 3 číslicích (triádách) ve dvou směrech, počínaje oddělovačem desetinných míst. V případě potřeby je potřeba přidat nevýznamné nuly vlevo od původního čísla. Pokud číslo obsahuje zlomkovou část, pak napravo od něj můžete také přidávat nevýznamné nuly, dokud nebudou vyplněny všechny triády. Každá trojice je pak nahrazena osmičkovou číslicí.

Příklad: Převeďte číslo 1101110.01 2 na osmičkovou číselnou soustavu.

Kombinujeme binární číslice do trojic zprava doleva. Dostaneme

001 101 110,010 2 = 156,2 8 .

Chcete-li převést číslo z osmičkové na binární, musíte každou osmičkovou číslici zapsat do binárního kódu:

156,2 8 = 001 101 110,010 2 .

Čtyři číslice hexadecimální číselné soustavy implementují všechny možné kombinace hexadecimálních číslic v binární číselné soustavě: od 0 (0000) do F(1111). Chcete-li převést binární číslo na hexadecimální, musíte zkombinovat binární číslice do skupin po 4 číslicích (tetradách) ve dvou směrech, počínaje oddělovačem desetinných míst. Pokud je to nutné, musíte přidat nevýznamné nuly vlevo od původního čísla. Pokud číslo obsahuje zlomkovou část, pak napravo od něj musíte také přidat nevýznamné nuly, dokud nebudou všechny sešity vyplněny. Každá tetráda je pak nahrazena hexadecimální číslicí.

Příklad: Převeďte číslo 1101110.11 2 na hexadecimální číselnou soustavu.

Kombinujeme binární číslice do tetrád zprava doleva. Dostaneme

0110 1110,11002 = 6E,C16.

Chcete-li převést číslo z hexadecimálního na binární, musíte zapsat každou hexadecimální číslici v binárním kódu.

Vznikl ve starověkém Babylonu. V Indii systém funguje ve formě pozičního desítkového číslování pomocí nuly, arabský národ si tento číselný systém vypůjčil od Indů a Evropané jej zase převzali od nich. V Evropě se tomuto systému začalo říkat arabština.

Polohový systémmrtvé zúčtování— význam všech číslic závisí na pozici (číslici) dané číslice v čísle.

Příklady, standardní desítková číselná soustava je poziční soustava. Řekněme dané číslo453 . Číslo 4 znamená stovky a odpovídá číslu400, 5 - počet desítek a odpovídá hodnotě50 , A 3 - jednotky a význam3 . Je snadné vidět, že jak se číslice zvyšuje, hodnota roste. 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. Hexadecimální základ je číslo 16.

Zápisem čísel v osmičkové soustavě získáme poměrně kompaktní výrazy, ale v šestnáctkové soustavě dostaneme kompaktnější výrazy.

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í na binární a naopak je podobný procesu pro osmičkovou soustavu.

Aplikace hexadecimální číselné soustavy.

Hexadecimální číselný systém se v moderních počítačích docela dobře používá, Například použijte jej k označení barvy: #FFFFFF- Bílá barva.

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

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

Pro převod hexadecimálního čísla na desítkové je potřeba dané číslo zmenšit do tvaru součtu součinů mocnin základu šestnáctkové soustavy o odpovídající číslice v číslicích šestnáctkového čísla.

Například, převeďte hexadecimální číslo 5A3 na desítkové. Tady 3 čísla. Na základě výše uvedeného pravidla jej zredukujeme na formu součtu mocnin 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řevod čísel z binárních do hexadecimálních a naopak.

Chcete-li převést vícemístné binární číslo na hexadecimální, musíte je rozdělit na tetrády zprava doleva a nahradit všechny tetrady odpovídající hexadecimální číslicí. Chcete-li převést číslo z šestnáctkové soustavy do dvojkové soustavy, musíte změnit každou číslici na odpovídající tetrády z převodní tabulky, kterou naleznete 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. Ze soustavy desítkových čísel:

  • vydělte číslo základem přeložené číselné soustavy;
  • najděte zbytek při dělení celé části čísla;
  • zapište všechny zbytky z 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 číslice;
  • Abychom převedli číslo na osmičkovou, rozdělíme číslo na trojice.

Například 1 000 110 = 1 000 110 = 1 068

  • Abychom převedli číslo z binární číselné soustavy do šestnáctkové, rozdělíme číslo 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

Hexadecimální zápis ("Hex")- pohodlný způsob reprezentace binárních hodnot. Stejně jako desítková číselná soustava má základ deset a binární číselná soustava má základ dvě, hexadecimální číselná soustava má základ šestnáct.

Číselná soustava se základem 16 používá čísla 0 až 9 a písmena A až F. Obrázek ukazuje ekvivalentní desítkové, binární a hexadecimální hodnoty pro binární čísla 0000 až 1111. Pro nás je jednodušší vyjádřit hodnotu jako jedna hexadecimální číslice než jako čtyři bity

Porozumění Bytes

Vzhledem k tomu, že 8 bitů (bajtů) je standardní binární seskupení, lze binární čísla 00000000 až 11111111 reprezentovat v hexadecimálním zápisu jako čísla 00 až FF. Pro dokončení 8bitové reprezentace jsou vždy zobrazeny úvodní nuly. Například binární hodnota 0000 1010 v šestnáctkové soustavě bude 0A.

Zobrazení hexadecimálních hodnot

Poznámka: Je důležité rozlišovat hexadecimální hodnoty od desítkových hodnot pro znaky 0 až 9, jak je znázorněno na obrázku.

Hexadecimální hodnoty jsou obvykle v textu reprezentovány hodnotou, které předchází 0x (například 0x73), nebo pomocí dolního indexu 16. Méně často za nimi může následovat písmeno H, například 73H. Protože však text dolního indexu není rozpoznán na příkazovém řádku nebo v programovacích prostředích, předchází jim v technické reprezentaci hexadecimálních čísel "0x" (nula X). Výše uvedené příklady by proto byly zobrazeny jako 0x0A a 0x73.

Hexadecimální zápis se používá k reprezentaci ethernetových MAC adres a adres IP verze 6.

Hexadecimální převody

Převod čísel mezi desítkovými a šestnáctkovými hodnotami je jednoduchý, ale rychlé dělení nebo násobení 16 není vždy vhodné. Pokud jsou takové převody nutné, je obvykle jednodušší převést desítkovou nebo šestnáctkovou hodnotu na binární a poté převést binární hodnotu na desítkovou nebo šestnáctkovou v závislosti na tom, co chcete získat.

S praxí je možné rozpoznat binární bitové vzory, které odpovídají desítkovým a hexadecimálním hodnotám. Obrázek ukazuje tyto vzory pro některé 8bitové hodnoty.

Mnoho uživatelů počítačů chápe, že počítač pracuje v binárním číselném systému. Tradičně jsou stavy binárního systému reprezentovány čísly 0 a 1, ačkoli 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 nemusí ú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ách dvojky. 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 dlouhé binární posloupnosti nul a jedniček můžete celkem jednoduše převést na krátké hexadecimální. Chcete-li to provést, jednoduše rozdělte binární sekvenci do skupin po čtyřech číslicích (číslice) počínaje nejméně významnou číslicí (vpravo) a každou skupinu nahraďte odpovídající hexadecimální hodnotou.

Hexadecimální systém se obvykle používá pro pohodlí při vnímání binárních dat, protože převody z hexadecimálního systému do binárního systému a zpět 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), ale pouze tři v šestnáctkové soustavě (201). K reprezentaci jakéhokoli hexadecimálního čísla je však zapotřebí šestnáct různých symbolů, spíše než deset, které se používají v systému desetinných čísel, který známe. 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 jsou obvykle (ale ne vždy) psána velkými (velkými) v hexadecimálním zápisu. číslo. Prvních deset znaků (od 0 do 9) se píše podobně jako čísla 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.

Uvažujme o shodě čísel od 0 do 15 v hexadecimálních a binárních číselných soustavách.

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 pro 10, 11 atd. v desítkové, dvojkové a šestnáctkové soustavě si navzájem neodpovídají. Podívejme se na malý příklad. Mějme hexadecimální číslo 1A5E. Chcete-li převést na binární, jednoduše nahraďte hexadecimální číslice odpovídajícími binárními skupinami. Výsledek bude 0001 1010 0101 1110. Pokud před číslem odstraníme nevýznamné nuly a napíšeme jej bez oddělovačů, dostaneme 1101001011110. Pro obrácený překlad rozdělíme číslo do skupin po čtyřech číslicích, počínaje nejnižší ( na pravé straně) a také pro pohodlí přidáváme nevýznamné nuly v nejvyšší skupině do 4 pozic. Dostaneme 0001 1010 0101 1110. Nahraďte skupiny odpovídajícími hexadecimálními hodnotami, dostaneme 1A5E.

Chcete-li převést šestnáctkové číslo do desítkové reprezentace, můžete použít schéma, podle kterého zapisujeme desetinná čísla. V desítkovém čísle každá číslice představuje odpovídající mocninu deseti, počínaje nulou a rostoucí zprava doleva. Například desetinné číslo 123 znamená 1*10 2 + 2*10 1 + 3*10 0 . Obdobnou metodou převedeme číslo 1A5E do desítkové číselné soustavy. V hexadecimální číselné soustavě, stejně jako v desítkové soustavě čísel, každá číslice označuje odpovídající mocninu čísla šestnáct, 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í věcí je nezapomenout, že každá číslice může obsahovat hodnoty od 0 do 15. Pro rychlý převod čísel mezi číselnými soustavami, můžete použít standardní kalkulačku ve Windows, k tomu stačí V rozšířeném režimu kalkulačky vybrat číselnou soustavu, zadat do ní číslo a vybrat požadovanou číselnou soustavu, ve které se má výsledek zobrazit.

Protože pouze číselná hexadecimální čísla lze snadno zaměnit s desítkový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í přidáním malého písmene „h“ na konec nebo přidáním předpony „0x“ před napsáním čísla. Hexadecimální číslo 1A5E lze tedy zapsat jako 1A5Eh nebo 0x1A5E, kde koncové „h“ nebo úvodní „0x“ značí, že je použit hexadecimální zápis.




Horní