Kódování dat
-
V počítači se můžeme setkat s:
integer
- celá číslafloat
- desetinná číslachar
- znakstring
- text
-
Počítače používají binární systém (soustavu založenou na 0 a 1) pro reprezentaci všech typů dat.
-
Kódování = zobrazení čísel a znaků na binární hodnoty
-
Dekódování = zobrazení kódového slova (posloupnost 0 a 1) na původní číslo nebo znak
Endianita
= byte oder (pořadí bytů)
-
slouží pro popis pořadí bytů, ve kterém jsou číselné hodnoty uloženy v počítačové paměti.
-
Big-endian: nejvýznamnější byte je uložen na nejnižší adresu a další byty jsou uloženy v následujících vyšších adresách
- často používají například síťové protokoly jako je IP
-
Little-endian: nejméně významný byte je uložen na nejnižší adresu a další byty jsou uloženy v následujících vyšších adresách
- často používán v osobních počítačích s procesory Intel a AMD využívající platformu x86
-
Mixed-endian: mohou používat kombinaci předchozích
- využíván na platformě ARM
Celá čísla
= interval ⟨min. záporné, max. kladné⟩
-
hranice jsou dané počtem bitů konkrétní reprezentace
-
může nastat přetečení (overflow) a nebo podtečení (underflow)
-
Vážený poziční kód:
- zápis čísla ve dvojkové poziční soustavě
-
BCD (Binary Coded Decimal):
- každá číslice decimálního čísla je reprezentována jejím vlastním čtyřbitovým binárním ekvivalentem
- tedy: , , , , , … .
- čísla větší než jsou reprezentována kombinací těchto čtyřbitových skupin:
- neefektivní využití paměti, ale je dobře čitelné
-
Přímý kód (Signed magnitude):
- jeden bit (obvykle nejvýznamnější bit) určuje znaménko čísla a zbytek bitů určuje velikost (magnitudu) čísla
- v 8b přímém kódu:
- v 8b přímém kódu:
- výhodou je jednoduchost a symetrické rozložení
- nevýhodou je dvojí nulová reprezentace
-
Inverzní kód:
- metoda pro reprezentaci záporných a kladných celých čísel v binárním systému
- záporná čísla jsou reprezentována inverzí všech bitů kladného čísla (bitová negace)
- nejvýznamnější bit slouží jako znaménkový bit, kde 0 značí kladné číslo a 1 záporné číslo
- výhodou je jednoduchost implementace a přímé operace
- nevýhodou je dvojí nula a složitější aritmetika
-
Doplňkový kód:
- tento formát je preferován v moderních počítačových systémech kvůli jeho efektivitě v aritmetických operacích a jednoduchému způsobu, jakým zpracovává znaménka čísel
- nejvýznamnější bit je použit jako znaménkový bit
- záporná čísla jsou reprezentována invertováním všech bitů kladného čísla a přičtením jedničky k výsledku
- výhody jsou eliminace dvojí nuly, jednoduchá aritmetika
- nevýhody jsou rozsah (záporná čísla mají o jedno větší rozsah) a přetečení
Čísla s řádovou čárkou
- Fixní řádová čárka:
- počet číslic před a po desetinné čárce je pevně stanoven
- tento přístup umožňuje rychlé a předvídatelné operace, protože všechny aritmetické operace mohou být prováděny jako operace s celými čísly bez nutnosti dynamického upravování pozice desetinné čárky
- Předpokládejme, že máme systém s fixní řádovou čárkou, kde čtyři bity jsou vyhrazeny pro celou část a čtyři bity pro desetinnou část. Číslo:
- Výhody:
- předvídatelnost výpočtů
- snížené nároky na hw
- efektivita
- Nevýhody:
- omezený rozsah a přesnost
- přetečení a podtečení
- neflexibilita
- počet číslic před a po desetinné čárce je pevně stanoven
- Plovoucí řádová čárka:
- umožňuje extrémně široký rozsah hodnot
- užitečná v aplikacích, kde docházet k extrémním rozdílům ve velikosti čísel (vědecké výpočty, grafika, zpracování signálu, …)
- Plovoucí řádová čárka používá tři hlavní komponenty pro uložení čísla: znaménko, exponent a mantisa
- znaménko - určuje, zda je číslo kladné nebo záporné
- exponent - Určuje stupně škálování mantisy. Exponent je obvykle uložen ve formátu s pevným posunem (offset), což znamená, že k jeho hodnotě je přičtena určitá konstanta (nejčastěji 127 pro jednoduchou přesnost a 1023 pro dvojitou přesnost), aby bylo možné reprezentovat záporné i kladné exponenty.
- mantisa - vlastní číselná hodnota čísla
- Číslo by mohlo být reprezentováno jako:
- Znaménko: (pro záporné číslo)
- Exponent: ( v decimálním systému, odpovídá reálnému exponentu , protože )
- Mantisa: (frakce za 1., v tomto případě 1.1001 v binární formě, což odpovídá 1.5625)
- Výhody:
- široký rozsah hodnot
- flexibilita
- Nevýhody:
- složitost
- přesnost
- nestabilita
Text
= posloupnost tisknutelných znaků (písmena různých abeced, cifer a symbolů)
- + řídící znaky
-
kódování znaků na binární hodnoty pomocí kódových tabulek:
-
ASCII:
- standardní kódová tabulka pro anglické abecedy a cifry
- původně do b = znaků
-
Unicode:
- rozsáhlý znakový standard, který byl vyvinut s cílem poskytnout jednotný a univerzální způsob reprezentace a manipulace s textem
-
UTF:
- kódování kódových bodů do binární reprezentace
- různé verze: UTF-8, UTF-16
-
Kód pro nový řádek - v různých systémech se používá jinak
- LF (Line Feed) - v unixech
- CR (Carriage Return) - starší MacOS
- CR + LF - dos, windows
Navigace
Předchozí: Binární logika, logické operace a jejich vlastnosti, funkce a jejich úpravy, logické obvody Následující: Detekční a samoopravné kódy Celý okruh: 2. Informační technologie