Šestnáctková čísla

Jedinou hlavní nevýhodou binárních čísel je, že binární řetězec odpovídající velkému číslu se základem 10 může být poměrně dlouhý.

Při práci s velkými digitálními systémy, jako jsou počítače, se běžně setkáváme s binárními čísly složenými z 8, 16 a dokonce 32 číslic, což znesnadňuje čtení i zápis bez vzniku chyb, zejména při práci s velkým množstvím 16 nebo 32bitových binárních čísel.

Jedním z běžných způsobů, jak tento problém překonat, je uspořádat binární čísla do skupin nebo sad po čtyřech bitech (4bitech). Tyto skupiny 4 bitů využívá jiný typ číslovacího systému, který se také běžně používá v počítačových a digitálních systémech a nazývá se hexadecimální čísla.

Hexadecimální číselný řetězec

„Hexadecimální“ nebo jednoduše „hexadecimální“ číslovací systém využívá soustavu Base of 16 a jsou oblíbenou volbou pro reprezentaci dlouhých binárních hodnot, protože jejich formát je poměrně kompaktní a mnohem srozumitelnější ve srovnání s dlouhými binárními řetězci jedniček a nul.

Jelikož se jedná o soustavu Base-16, šestnáctková číselná soustava tedy používá 16 (šestnáct) různých číslic s kombinací čísel od 0 do 15. Z toho vyplývá, že šestnáctková číselná soustava se používá pro vyjádření číselných hodnot. Jinými slovy, existuje 16 možných symbolů číslic.

Při použití tohoto způsobu zápisu číslic však existuje potenciální problém způsobený tím, že desítkové číslice 10, 11, 12, 13, 14 a 15 se obvykle zapisují pomocí dvou sousedních symbolů. Například když napíšeme 10 v šestnáctkové soustavě, máme na mysli desítkové číslo deset, nebo dvojkové číslo dvě (1 + 0). Abychom tento záludný problém obešli, používají se šestnáctková čísla, která označují hodnoty deset, jedenáct, … , patnáct, jsou nahrazeny velkými písmeny A, B, C, D, E a F v tomto pořadí.

Tedy v šestnáctkové číselné soustavě používáme čísla od 0 do 9 a velká písmena A až F pro vyjádření jejich binárního nebo desítkového ekvivalentu čísla, počínaje nejméně významnou číslicí na pravé straně.

Jak jsme si právě řekli, binární řetězce mohou být poměrně dlouhé a obtížně čitelné, ale můžeme si usnadnit život tím, že tato velká binární čísla rozdělíme do sudých skupin, což nám usnadní jejich zápis a pochopení. Například následující skupina binárních číslic 1101 0101 1100 11112 je mnohem lépe čitelná a srozumitelná než 11010101110011112, když jsou všechny pohromadě.

Při každodenním používání desítkové číselné soustavy používáme skupiny tří číslic nebo 000 z pravé strany, aby pro nás bylo velmi velké číslo, například milion nebo bilion, srozumitelnější, a totéž platí i v digitálních systémech.

Šestnáctková čísla jsou složitější soustavou než používání pouze dvojkové nebo desítkové soustavy a používají se hlavně při práci s počítači a adresovými místy paměti. Rozdělením binárního čísla do skupin po 4 bitech může mít nyní každá skupina nebo sada 4 číslic možnou hodnotu mezi „0000“ (0) a „1111“ ( 8+4+2+1 = 15 ), což dává celkem 16 různých kombinací čísel od 0 do 15. To znamená, že každá skupina nebo sada 4 číslic může mít různou hodnotu. Nezapomeňte, že „0“ je také platná číslice.

Pamatujeme si z našeho prvního tutoriálu o binárních číslech, že 4bitová skupina číslic se nazývá „nibble“, a protože 4 bity jsou potřebné také k vytvoření šestnáctkového čísla, šestnáctkovou číslici si můžeme také představit jako nibble nebo půl bajtu. Pak jsou k vytvoření jednoho celého bajtu v rozsahu 00 až FF zapotřebí dvě šestnáctkové číslice.

Jelikož 16 v desítkové soustavě je čtvrtou mocninou čísla 2 ( neboli 24 ), existuje mezi čísly 2 a 16 přímý vztah, takže jedna šestnáctková číslice má hodnotu rovnou čtyřem binárním číslicím, takže nyní je q rovno „16“.

Vzhledem k tomuto vztahu lze čtyři číslice binárního čísla reprezentovat jednou šestnáctkovou číslicí. Díky tomu je převod mezi binárními a hexadecimálními čísly velmi snadný a hexadecimální soustavu lze použít k zápisu velkých binárních čísel s mnohem menším počtem číslic.

Čísla 0 až 9 se stále používají jako v původní desítkové soustavě, ale čísla od 10 do 15 jsou nyní reprezentována velkými písmeny abecedy od A do F včetně a vztah mezi desítkovou, binární a hexadecimální soustavou je uveden níže.

Hexadecimální čísla

Desetinná čísla 4-.bitové binární číslo Šestnáctkové číslo
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
16 0001 0000 10 (1+0)
17 0001 0001 11 (1+1)
Pokračování směrem nahoru ve skupinách po čtyřech

Původní binární číslo shora 1101 0101 1100 11112 lze nyní převést na ekvivalentní hexadecimální číslo D5CF, které je mnohem čitelnější a srozumitelnější než dlouhá řada jedniček a nul, kterou jsme měli dříve.

Pomocí hexadecimálního zápisu lze tedy digitální čísla zapisovat s použitím menšího počtu číslic a s mnohem menší pravděpodobností výskytu chyby. Stejně tak převod čísel založených na šestnáctkové soustavě zpět na dvojkovou soustavu je jednoduše opačná operace.

Hlavní charakteristikou šestnáctkové číselné soustavy je, že existuje 16 různých počítacích číslic od 0 do F, přičemž každá číslice má váhu nebo hodnotu 16 počínaje nejméně významným bitem (LSB). Aby se hexadecimální čísla odlišila od čísel denárních, používá se před vlastní hodnotou hexadecimálního čísla předpona buď „#“, (Hash), nebo „$“ (Dollar sign), tedy #D5CF nebo $D5CF.

Jelikož základem hexadecimální soustavy je 16, což zároveň představuje počet jednotlivých symbolů použitých v soustavě, používá se pro identifikaci čísla vyjádřeného v hexadecimální soustavě index 16. V případě, že je číslo vyjádřeno v hexadecimální soustavě, používá se pro identifikaci čísla předpona „#“. Například předchozí hexadecimální číslo je vyjádřeno jako: D5CF16

Počítání pomocí hexadecimálních čísel

Takže nyní víme, jak převést 4 binární číslice na hexadecimální číslo. Ale co kdybychom měli více než 4 binární číslice, jak bychom počítali v šestnáctkové soustavě za posledním písmenem F. Jednoduchou odpovědí je začít znovu s další sadou 4 bitů následujícím způsobem.

0…až…9, A,B,C,D,E,F, 10…až…19, 1A, 1B, 1C, 1D, 1E, 1F, 20, 21….etc

Nenechte se zmást, 10 nebo 20 NENÍ deset nebo dvacet, je to 1 + 0 a 2 + 0 v šestnáctkové soustavě. Ve skutečnosti dvacet v šestnáctkové soustavě ani neexistuje. Se dvěma šestnáctkovými čísly můžeme počítat až do FF, což se rovná desetinnému číslu 255. Stejně tak pro počítání vyšší než FF bychom přidali třetí šestnáctkovou číslici vlevo, takže první tříbitové šestnáctkové číslo by bylo 10016, (25610) a poslední by bylo FFF16, (409510). Maximální čtyřmístné hexadecimální číslo je FFFF16, což se v desítkové soustavě rovná 65 535 a tak dále.

Zobrazení šestnáctkového čísla

MSB Šestnáctkové číslo LSB
168 167 166 165 164 163 162 161 160
4.3G 2.6G 16M 1M 65k 4k 256 16 1

Toto přidávání dalších šestnáctkových číslic pro převod desítkového i dvojkového čísla na šestnáctkové číslo je velmi snadné, pokud jsou 4, 8, 12 nebo 16 binárních číslic k převodu. Můžeme však také přidat nuly nalevo od nejvýznamnějšího bitu, MSB, pokud počet binárních bitů není násobkem čtyř.

Například 110010110110012 je čtrnáctibitové binární číslo, které je příliš velké pro pouhé tři šestnáctkové číslice, ale příliš malé pro čtyřmístné šestnáctkové číslo. Řešením je PŘIDÁVAT další nuly k nejlevějšímu bitu, dokud nezískáme kompletní sadu čtyřbitového binárního čísla nebo jeho násobky.

Přidání dalších nul k binárnímu číslu

Binární číslo 0011 0010 1101 1001
Hexadecimální číslo 3 2 D 9

Hlavní výhodou šestnáctkového čísla je, že je velmi kompaktní a díky použití základu 16 znamená, že počet číslic použitých k reprezentaci daného čísla je obvykle menší než ve dvojkové nebo desítkové soustavě. Také převod mezi hexadecimálním a binárním číslem je rychlý a snadný.

Hexadecimální čísla Příklad č. 1

Převeďte následující binární číslo 1110 10102 na jeho ekvivalent v hexadecimálním čísle.

Binární číslo = 111010102
Seskupte bity do čtveřic počínaje pravou stranou
= 1110 1010
Najděte desítkový ekvivalent každého z nich. jednotlivé skupiny
= 14 10 (v desítkové soustavě)
Převést na Hexadecimálně pomocí výše uvedené tabulky
= E A (v Hex)
Pak, hexadecimální ekvivalent binárního čísla

1110 10102 je #EA16

Hexadecimální čísla Příklad č. 2

Převeďte následující hexadecimální číslo #3FA716 na jeho binární ekvivalent a také na jeho ekvivalent v desítkové nebo desítkové soustavě pomocí indexů pro identifikaci jednotlivých číselných soustav.

#3FA716

= 0011 1111 1010 01112

= (8192 + 4096 + 2048 + 1024 + 512 + 256 + 128 + 32 + 4 + 2 + 1)

= 16,29510

Desetinné číslo 16,295 pak lze znázornit jako:-

#3FA716

nebo

0011 1111 1010 01112 ve dvojkové soustavě.

Souhrn čísel v šestnáctkové soustavě

Tedy pro shrnutí. Šestnáctková neboli hexadecimální číselná soustava se běžně používá v počítačových a digitálních systémech k redukci velkých řetězců binárních čísel na soubory čtyř číslic, které jsou pro nás snadno pochopitelné. Slovo „hexadecimální“ znamená šestnáct, protože tento typ digitálního číslovacího systému používá 16 různých číslic od 0 do 9 a od A do F.

Hexadecimální čísla seskupují binární čísla do sad čtyř číslic. Chceme-li binární posloupnost převést na ekvivalentní hexadecimální číslo, musíme nejprve seskupit binární číslice do sady čtyřbitů. Tyto binární sady mohou mít libovolnou hodnotu od 010 ( 00002 ) do 1510 ( 11112 ), což představuje hexadecimální ekvivalent 0 až F.

V příštím kurzu o binární logice se budeme zabývat převodem celých řetězců binárních čísel do další digitální číselné soustavy zvané osmičková čísla a naopak.

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.