.
2/50
Osnova přednášky .
Práce s počítačem
Vnitřní reprezentace dat
.
— ergonomie — údržba počítače
Číselné soustavy
Výpočetní technika I
— poziční a nepoziční soustavy — převody mezi soustavami — aritmetické operace v různých soustavách
Ing. Pavel Haluza ústav informatiky PEF MENDELU v Brně
[email protected]
Uložení dat v paměti počítače — — — —
.
Výpočetní technika I
.
Přednáška 2: Vnitřní reprezentace dat
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
Práce s počítačem
Práce s počítačem
Údržba počítače
Ergonomie
3/50
Ergonomie
— — — — —
Prach, tekutiny, drobky, mechanické vlivy — počítač je plný elektroniky, proto přitahuje prach ve velké míře — na základní oprášení postačí suchá nebo polosuchá prachovka, pozor na únik tekutin — obvykle jednou ročně je třeba provést důkladnější údržbu vnitřku počítače vysavačem — klávesnice vyžaduje speciální údržbu
lokty ohnuté do pravého úhlu, drženy u těla zápěstí narovnaná, nepokládáme před klávesnici prsty nad klávesami mírně pokrčíme myš držíme volně, nepokládáme zápěstí na podložku nohy jsou volně položeny celou plochou chodidla na podlaze
Teplo
Poloha monitoru — — — —
— — — —
při práci s počítačem velmi trpí zejména oči doporučená vzdálenost od monitoru je 40–60 cm kratší vzdálenost poškozuje oči vlivem viditelného záření delší vzdálenost poškozuje oči namáhavým zaostřováním Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
4/50
Údržba počítače
Nauka o tom, jak má člověk pracovat u počítače, aby mu to způsobilo co nejmenší zdravotní újmu Tělo
.
čísla znaky zvuky obrazy
.
urychluje korozi a zkracuje životnost součástek vrstva prachu uvnitř počítače tepelně izoluje počítač neumisťujeme do blízkosti topných těles pozor na tepelný šok při přenosu z chladu do tepla Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
.
Číselné soustavy
Práce s počítačem Údržba počítače
5/50
Údržba počítače Cigarety
Způsob reprezentace čísel
— kouření v blízkosti počítače zkracuje životnost až o 40 % — pevný disk je uzavřen ve vzduchotěsné schránce — molekuly v cigaretovém kouři jsou ale mnohem menší než molekuly vzduchu!
Rozdělení podle způsobu určení hodnoty čísla z dané reprezentace Čísla se skládají z uspořádané množiny symbolů – číslic Poziční soustavy
Magnetické a elektromagnetické pole, elektřina, záření
— hodnota každé číslice je dána její pozicí v sekvenci symbolů — pozicí je dána váha pro výpočet celkové hodnoty čísla — nezbytným předpokladem je objevení symbolu pro nulu
— škodí především datům uloženým na magnetických pamětech (pevný disk, disketa) — motor tiskáren může produkovat elektromagnetické pole — magnetické šroubováky v blízkosti počítače nepoužíváme — do zásuvky, ve které je počítač, by neměly být zapojeny žádné větší motory ani topná tělesa — přímé sluneční záření škodí monitorům, obraz bledne
.
Výpočetní technika I
Nepoziční soustavy — hodnota číslice není dána jejím umístěním v sekvenci číslic — neobsahují symbol pro nulu a záporná čísla
.
Přednáška 2: Vnitřní reprezentace dat
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
Číselné soustavy
Číselné soustavy
Nepoziční soustavy
Nepoziční soustavy
7/50
Nepoziční soustavy
mayské číslice
egyptské číslice Výpočetní technika I
8/50
Nepoziční soustavy
Dnes téměř nepoužíváno, spíše historická záležitost Výhodou jednoduché sčítání a odečítání Nevýhodou dlouhý zápis čísel, která výrazně převyšují hodnotu největšího symbolu soustavy
.
6/50
Číselné soustavy
Římské číslice — způsob zápisu čísel pomocí písmen abecedy — základem soustavy je sedm symbolů: M = 1 000 X = 10 C = 100 I=1 D = 500 V=5 L = 50 — „Ivan Vedl Xénii Lesní Cestou Do Města“ — „Ivan, Vašek, Xénie Lijí Cín Do Mumie“ — větší číslice vždy předcházejí menším — ve středověku byly pro zkrácení zápisu doplněny složené symboly, u kterých menší číslice předchází větší CD = 400 IV = 4 XL = 40 CM = 900 XC = 90 IX = 9
řecké číslice
Přednáška 2: Vnitřní reprezentace dat
.
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
.
Číselné soustavy
Číselné soustavy
Poziční soustavy
Nepoziční soustavy
9/50
Nepoziční soustavy
10/50
Poziční soustavy
Unární číselná soustava
Nejrozšířenější jsou polyadické soustavy o základu z, kde z je celé číslo větší než 1
— číslo je vyjádřeno opakováním jediného (stejného) symbolu
Taková soustava má z různých číslic (například desítková soustava obsahuje číslice 0–9) Způsoby vyjádření čísla — poziční zápis
(an …a0 )z — polynomiální zápis
±
+∞ ∑
ai zi , kde ai ∈ {0, …, z − 1}
i=−∞
.
Výpočetní technika I
.
Přednáška 2: Vnitřní reprezentace dat
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
Číselné soustavy
Číselné soustavy
Poziční soustavy
Poziční soustavy
11/50
Významné soustavy
Důvody pro zavedení dvojkové soustavy
Dvojková soustava (binární) – 2 číslice (0, 1)
Počítač je zařízení, které zpracovává jen číselné údaje
Osmičková soustava (oktalová) – 8 číslic (0, 1, …, 7)
Tyto číselné údaje jsou v počítači uloženy ve dvojkové soustavě, tj. v podobě 0 a 1
Desítková soustava (dekadická) – 10 číslic (0, 1, …, 9)
Technicky není problém rozlišit dva různé stavy (proud protéká × neprotéká)
Šestnáctková soustava (hexadecimální) – 16 číslic Jak vyjádřit šestnáctkovou soustavu, když máme k dispozici jen 10 číslic?
Nejmenší jednotkou paměti je buňka, která dokáže uchovat informaci o velikosti 1 bitu
— použijeme písmena anglické abecedy — 10 = A, 11 = B, 12 = C, 13 = D, 14 = E, 15 = F — šestnáctková soustava tedy obsahuje číslice 0, 1, …, F
Dvojkovou soustavu představil již německý filozof, vědec a matematik Gottfried Wilhelm von Leibniz (1646–1716)
Za jakou soustavu lze považovat Morseovu abecedu? Jaké číselné soustavy ještě znáte a běžně používáte? .
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
.
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
12/50
.
Číselné soustavy
Číselné soustavy
Převody mezi soustavami
Převody mezi soustavami
Převod z desítkové soustavy do libovolné soustavy
Převod z desítkové soustavy do libovolné soustavy
13/50
Převody mezi soustavami
Desetinná čísla při převodu rozdělíme na celou a desetinnou část
Převod z desítkové soustavy do libovolné – postupně dělíme základem cílové soustavy a sbíráme zbytky
Celou část převedeme standardně dělením základem cílové soustavy a sběrem zbytků
Hledáme hodnoty a0 , …, an tak, aby platilo x = an zn + … + a1 z + a0
Desetinnou část převedeme násobením základem cílové soustavy a sběrem celých částí výsledků
Příklad: převádíme 123 do devítkové soustavy 123 div 9 = 13 123 mod 9 = a0 = 6 13 div 9 = 1 13 mod 9 = a1 = 4 1 div 9 = 0 1 mod 9 = a2 = 1
Příklad: převádíme 32,75 do osmičkové soustavy 32 div 8 = 4 32 mod 8 = a0 = 0 4 div 8 = 0 4 mod 8 = a1 = 4 0,75 · 8 = 6,0 celá část (a−1 ) = 6, desetinná část = 0,0
Kontrola: x = a2 z2 + a1 z1 + a0 = 1 · 92 + 4 · 91 + 6 = 123 12310 = 1469
.
Výpočetní technika I
Kontrola:
x = a1 z1 + a0 + a−1 z−1 = 4 · 81 + 0 + 6 · 8−1 = 32,75 32,7510 = 40,68
.
Přednáška 2: Vnitřní reprezentace dat
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
Číselné soustavy
Číselné soustavy
Převody mezi soustavami
Převody mezi soustavami Převod z libovolné soustavy do desítkové soustavy
Převody mezi soustavami o různých základech
15/50
Převody mezi soustavami
Převod mezi soustavami o základu 2n — pro použití v počítači mají hlavní význam — 1 číslice soustavy o základu 2n odpovídá n číslicím binární soustavy — 1 číslice osmičkové soustavy odpovídá 3 číslicím dvojkové soustavy, protože 8 = 23 — příklad: 68 = 1102
Příklady: 3145 = 3 · 52 + 1 · 51 + 4 · 50 = 84 10012 = 1 · 23 + 0 · 22 + 0 · 21 + 1 · 20 = 9 F116 = 15 · 161 + 1 · 160 = 241 178 = 1 · 81 + 7 · 80 = 15 4117 = 4 · 72 + 1 · 71 + 1 · 70 = 204 12310 = 1 · 102 + 2 · 101 + 3 · 100 = 123 3,214 = 3 · 40 + 2 · 4−1 + 1 · 4−2 = 3,5625
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
16/50
Převody mezi soustavami
Převod z libovolné soustavy do desítkové – vyčíslením z-adického tvaru čísla ve tvaru řady x = an zn + … + a1 z + a0
.
14/50
Převody mezi soustavami
Převod mezi libovolnými soustavami — nejjednodušší způsob přes desítkovou soustavu — příklad: 1F16 = 3110 = 1115
.
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
.
Číselné soustavy
Číselné soustavy
Aritmetické operace
Aritmetické operace
17/50
Sčítání a odčítání
Opět stejný princip ve všech soustavách Do vyššího řádu převádíme kdykoli po překročení základu soustavy Příklad: 324 · 214 324 130 4 13324 Zapisujeme, o kolik jsme překročili nejbližší násobek základu soustavy Pamatujeme si, kolikrát jsme překročili základ soustavy Dělení lze provést také, ale prakticky se nepoužívá
Stejný princip ve všech soustavách, tedy i v desítkové Kdykoliv při sčítání v nějakém řádu součet dosáhne základu soustavy, nebo jej překročí, provedeme přenos do vyššího řádu Příklady: 4236 13416 5216 31256
.
427148
−170438 236518
Výpočetní technika I
18/50
Násobení
.
Přednáška 2: Vnitřní reprezentace dat
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
Uložení dat v paměti počítače
Uložení dat v paměti počítače
Čísla
Čísla
Kladná čísla
19/50
Čísla v počítači Operační paměť počítače je rozdělena do adresovatelných jednotek velikosti slabiky (bajtu)
Uložení čísla v jedné slabice: Dekadicky
Ve slabice číslujeme bity 0 a 7, přičemž bit 0 je bitem nejnižšího řádu, bit 7 je bitem nejvyššího řádu Možnosti uložení čísel v počítači
0
— kladná čísla – přímo na určitém prostoru bez nutnosti úprav — záporná čísla – je potřeba uložit navíc informaci o znaménku, k tomu stačí jeden bit — reálná čísla – oblast paměti je rozdělena na tři části (znaménko, mantisa, exponent)
.
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
20/50
Kladná čísla
137 255
.
Binárně ve slabice
27
26
25
24
23
22
21
0
0
0
0
0
0
0
20 0
27
26
25
24
23
22
21
20
1
0
0
0
1
0
0
1
27
26
25
24
23
22
21
20
1
1
1
1
1
1
1
1
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
.
Uložení dat v paměti počítače
Uložení dat v paměti počítače
Čísla
Čísla
Záporná čísla
Záporná čísla
21/50
Záporná čísla Bit nejvyššího řádu je obětován pro znaménko
Nejvyšší bit je obětován pro znaménko, zbývající bity beze změn Příklad: vyjádření čísel 62 a −62 001111102 (62) 101111102 (−62) Problém: nelze sčítat kladná a záporná čísla 000000112 (3) 100001012 (−5) (−8) 100010002 Z výše uvedeného důvodu přímý kód nelze použít
— 0xxxxxxx – kladné číslo — 1xxxxxxx – záporné číslo
Pro vyjádření hodnoty potom zůstává v 1 bajtu pouze 7 bitů, ve 2 bajtech pouze 15 bitů apod. Možnosti vyjádření záporného čísla v počítači — — — —
přímý kód inverzní kód doplňkový kód kód s posunutou nulou
.
Výpočetní technika I
.
Přednáška 2: Vnitřní reprezentace dat
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
Uložení dat v paměti počítače
Uložení dat v paměti počítače
Čísla
Čísla Záporná čísla
Záporná čísla
23/50
Inverzní kód
Vyjdeme z inverzního kódu, k číslu přičteme jedničku Příklad: vyjádření čísel 62 a −62 001111102 (62) 101111102 (−62, přímý kód) 110000012 (−62, inverzní kód) + 12 (−62, doplňkový kód) 110000102 Doplňkový kód řeší oba zmíněné problémy 000000002 000000112 (3) 111111112 111111012 (−5) + 12 (−2) 111111102 000000002
Příklad: vyjádření čísel 62 a −62 001111102 (62) 101111102 (−62, přímý kód) 110000012 (−62, inverzní kód) Problém: dvě různé nuly při porovnávání 000000002 (+0) 111111112 (−0) Z výše uvedeného důvodu inverzní kód nelze použít
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
24/50
Doplňkový kód
Vyjdeme z přímého kódu, u všech významových bitů (tzn. kromě znaménkového) provedeme inverzi
.
22/50
Přímý kód
.
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
(+0)
(−0)
.
Uložení dat v paměti počítače
Uložení dat v paměti počítače
Čísla
Čísla
Záporná čísla
Záporná čísla
25/50
Doplňkový kód
Kód s posunutou nulou (aditivní kód) Přičítá k číslu nějakou známou konstantu Například pro osmibitová čísla (28 = 256 různých čísel) — 00000000 ∼ −128 — 10000000 ∼ 0 — 11111111 ∼ 127 Příklad: vyjádření čísel 3 a −3 100000112 (3) 011110012 (−3) Nevýhoda: zápis kladného čísla se liší od bezznaménkové reprezentace čísel Operace sčítání nepotřebuje úpravy, ale pro operaci násobení je nutné od operandů odečíst známou konstantu Použití v praxi pro reprezentaci exponentu reálných čísel
Sčítání ve dvojkovém doplňkovém kódu je stejné jako ve dvojkové soustavě Problém: je-li přenos do znaménkového bitu rozdílný od přenosu z něj, sčítání je neplatné
Příklad: sčítání čísel −67 a −67 101111012 101111012 011110102
.
Výpočetní technika I
(−67) (−67) (122)
.
Přednáška 2: Vnitřní reprezentace dat
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
Uložení dat v paměti počítače
Uložení dat v paměti počítače
Čísla
Čísla Záporná čísla
Záporná čísla
27/50
Záporná čísla v počítači
Efektivní převod do doplňkového kódu Záporné číslo sečteme s číslem 2n , kde n je počet bitů cílového datového typu Výsledek převedeme do dvojkové soustavy stejným způsobem jako kladné číslo Příklad: zobrazení čísla −120 v proměnné typu shortint rozsah 28 = 256 hodnot 256 + (−120) = 256 − 120 = 136 136 = 100010002 Příklad: zobrazení čísla −120 v proměnné typu integer rozsah 216 = 65 536 hodnot 65 536 + (−120) = 65 536 − 120 = 65 416 65 416 = 11111111100010002
Pokud je třeba ukládat záporná čísla, je nejvyšší bit obětován pro znaménko, jinak je součástí hodnoty čísla (hodnotový bit) Celočíselné datové typy v jazyce Pascal Název
Délka Znam.
Rozsah
Hodnoty
8 bitů
ne
h0; 28 − 1i
0 až 255
shortint 8 bitů
ano
h−27 ; 27 − 1i
−128 až 127
byte
16 bitů
ne
h0; 216 − 1i
0 až 65 535
integer 16 bitů
ano
h−215 ; 215 − 1i
−32 768 až 32 767
longint 32 bitů
ano
h−231 ; 231 − 1i cca −2 · 109 až 2 · 109
word
.
26/50
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
.
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
28/50
.
Uložení dat v paměti počítače
Uložení dat v paměti počítače
Čísla
Čísla
BCD číslice
Záporná čísla
29/50
Znaménková čísla – shrnutí
Uložení číslic desítkové soustavy BCD číslice (Binary Coded Decimal) Číslice mezi 0 a 9 uložená v půlslabice (4 bity) V těchto bitech se nesmí vyskytovat kombinace 10–15 Zhuštěný tvar – v jedné slabice jsou uloženy dvě BCD číslice – číslice vyššího řádu je ve vyšší půlslabice Nezhuštěný tvar – v jedné slabice jedna číslice, horní půlslabika je prázdná Do BCD je číslo převedeno např. před zobrazením ve formě desítkového čísla u 7segmentových displejů Příklad: zobrazení čísla 35 Horní půlslabika Dolní půlslabika 0011 (= 3) 0101 (= 5)
V jedné slabice (1 bajtu, 8 bitech) může být uloženo — číslo bez znaménka z intervalu 0 až 255 — číslo se znaménkem ve dvojkovém doplňkovém kódu z intervalu −128 až 127
Ve dvou slabikách (2 bajtech, 16 bitech) může být uloženo — číslo bez znaménka z intervalu 0 až 65 535 — číslo se znaménkem ve dvojkovém doplňkovém kódu z intervalu −32 768 až 32 767
O významu uložených bitů rozhoduje zvolený datový typ Příklad: hodnota 100010002 může reprezentovat — číslo 136 v proměnné typu byte — číslo −120 v proměnné typu shortint (136 − 28 )
.
Výpočetní technika I
.
Přednáška 2: Vnitřní reprezentace dat
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
Uložení dat v paměti počítače
Uložení dat v paměti počítače
Čísla
Čísla Reálná čísla
Reálná čísla
31/50
Reálná čísla
Single precision — 32bitová čísla — znaménko 1 bit, mantisa 23 bitů, exponent 8 bitů
— znaménko – nejvyšší bit (0 = kladné, 1 = záporné) — exponent – nese informaci o velikosti čísla — mantisa – uchovává číslice
Double precision — 64bitová čísla — znaménko 1 bit, mantisa 52 bitů, exponent 11 bitů
Matematicky lze reálné číslo vyjádřit jako
Extended precision
Znaménko Mantisa × 2Exponent
— 80bitová čísla — znaménko 1 bit, mantisa 64 bitů, exponent 15 bitů
1 IEEE (Institute of Electrical and Electronics Engineers) je organizace elektroinženýrů a informatiků, která má přes 350 000 členů v cca 150 zemích světa. Definuje standardy v oblastech elektrotechniky a výpočetní techniky, spolu s ISO a ANSI patří k nejvýznamnějším standardizačním organizacím. Podrobněji viz http://www.ieee.org, příp. http://www.ieee.cz. Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
32/50
Reálná čísla
Jsou v počítači uložena podle standardu IEEE 7541 Oblast paměti, ve které je uloženo reálné číslo, je rozdělena do tří částí
.
30/50
.
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
.
Uložení dat v paměti počítače
Uložení dat v paměti počítače
Čísla
Čísla
Reálná čísla
Reálná čísla
33/50
Reálná čísla Mantisa
K exponentu se přičítá tzv. bias — single precision (8b exp.) – bias = 127 (28−1 − 1) — double precision (11b exp.) – bias = 1023 (211−1 − 1)
— kromě případu čísla 0 vždy začíná (v binární podobě) jedničkou, která se neukládá
Exponent
Důvod: snadnější porovnávání reálných čísel Příklad: zobrazení čísla −12,5 v single precision — 12,5 = 1100,12 = 1,10012 × 23
— určuje počet řádů, o které musíme posunout řádovou čárku — může být kladný (posun doprava) i záporný (doleva) — před uložením je k němu přičteno číslo bias 2n−1 − 1 (kód posunuté nuly – posouvá nulu zhruba doprostřed rozsahu), kde n je počet bitů exponentu
— mantisa: 1001 — exponent (8b): 3 + 127 = 130 = 10000010 — výsledné číslo:
Detailnější informace
1
— http://amber.feld.cvut.cz/psp/IEEE754.htm — http://www.root.cz/clanky/norma-ieee-754-a-pribuzniformaty-plovouci-radove-tecky/
.
Výpočetní technika I
10000010
1001000…00
↑
↑
↑
záporné
exponent
mantisa (23b)
.
Přednáška 2: Vnitřní reprezentace dat
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
Uložení dat v paměti počítače
Uložení dat v paměti počítače
Znaky
Znaky
35/50
Uložení znaků v počítači
36/50
Převodní tabulky
Znaky v počítači
EBCDIC
— zobrazitelné znaky – všechny znaky, které slouží pro zápis textové informace (písmena, číslice, interpunkční znaménka, matematické symboly apod.) — řídicí znaky – slouží k ovládání přídavných zařízení (nebo programu)
— Extended Binary Coded Decimal Interchange Code
ASCII (ISO 646) — American Standard Code for Information Interchange
UCS (ISO 10646) — Universal Character Set
Počítač není schopen zpracovávat jiné než číselné informace
.
34/50
Posunutá forma exponentu
Aby bylo možné zpracovat textovou informaci, bylo nutné přiřadit jednotlivým znakům číselné ekvivalenty
UTF
Znaky a symboly se uchovávají ve formě čísel podle převodní tabulky
Unicode
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
— UCS Transformation Format
.
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
.
Uložení dat v paměti počítače
Uložení dat v paměti počítače
Znaky
Znaky
ASCII
EBCDIC
37/50
EBCDIC
38/50
ASCII
Extended Binary Coded Decimal Interchange Code
American Standard Code for Information Interchange
Prehistorický kód navržený IBM na konci 50. let 20. století
Kódovací prostor 8 bitů – 256 znaků
Vychází z kódu používaného pro děrné štítky a BCD kódu využívaného v periferiích IBM
Původně 7bitový kód + 1 paritní bit pro kontrolu Rozložení kódu
Kódovací prostor 8 bitů – 256 znaků Rozložení kódu
— řídicí znaky – #0–31, #127 — zobrazitelné znaky – #32–126, #128–255
Kód má dvě části
— řídicí znaky – #0–63, #255 — zobrazitelné znaky – #64–254
— základní část – #0–127 (původních 7 bitů) — rozšířená část – #128–255 (přidání 8. bitu)
Nevýhoda: znaky anglické abecedy netvoří spojitou posloupnost, nelze použít regulární výraz
.
Výpočetní technika I
.
Přednáška 2: Vnitřní reprezentace dat
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
Uložení dat v paměti počítače
Uložení dat v paměti počítače
Znaky
Znaky ASCII
ASCII
39/50
ASCII – základní část
40/50
ASCII – rozšířená část Národní znaky – určeny pro zobrazení textů v jiných jazycích než angličtině
Žádný znakový kód nebyl původně navržen pro zobrazování národních znaků Základní kód ASCII neposkytuje dostatečný prostor pro uložení všech národních znaků Využití zbylých 128 pozic kódu ASCII (paritní bit) Způsob využití zcela nejednotný, existence různých znakových sad pro různé skupiny jazyky
.
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
.
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
.
Uložení dat v paměti počítače
Uložení dat v paměti počítače
Znaky
Znaky
ASCII
ASCII
Varianty kódování českých národních znaků
41/50
Varianty kódování českých národních znaků KOI8čs
Kód bratrů Kamenických
— Kod Obmena Informaciey — vyvinut v SSSR v rámci RVHP
— KEYBCS2, CP895 — pro osobní počítače pod MS-DOS — využití sady CP437 s náhradou pozic 128–171 českými a slovenskými národními znaky
ISO Latin 2 — ISO 8859-2 — podpora středoevropských a východoevropských jazyků psaných latinkou nebo latinskou transkripcí — použitelné i pro němčinu a finštinu
PC Latin 2 — IBM Latin 2, CP852 — pro osobní počítače pod MS-DOS — podpora středoevropských jazyků používajících latinku (čeština, slovenština, polština, rumunština, maďarština, srbochorvatština aj.)
.
Výpočetní technika I
Windows-1250 — — — —
CP1250 pro operační systém Windows podpora středoevropských jazyků a němčiny velmi podobné kódu ISO 8859-2 (v češtině pouze 6 rozdílů)
.
Přednáška 2: Vnitřní reprezentace dat
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
Uložení dat v paměti počítače
Uložení dat v paměti počítače
Znaky
Znaky Vícebajtová kódování
Vícebajtová kódování
43/50
Vícebajtová kódování
Unicode – Little Endian a Big Endian
I 256 pozic kódu ASCII přestává stačit, hledají se nové možnosti ISO 10646
Little Endian — — — —
— UCS = Universal Character Set — univerzální prostor 4 B, tj. přes 4 miliardy znaků — zbytečně neúsporné řešení
Unicode
méně významový bajt leží na nižší adrese takto kódované soubory začínají znakem FF FE typické pro Windows příklad: znak „A“ = 41 00
Big Endian
— jeden znak ukládán vždy na 2 B — snaha o vytvoření jediné globální znakové sady — dolní polovina ASCII (#0–127) se ukládá pod stejnými hodnotami (00000000 xxxxxxxx) — číselný kód se pro přehlednost zapisuje v hexadecimální soustavě, např. „A“ = \u0041 — varianty Little Endian a Big Endian
.
42/50
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
— — — —
.
méně významový bajt leží na vyšší adrese takto kódované soubory začínají znakem FE FF typické pro programovací jazyk Java příklad: znak „A“ = 00 41
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
44/50
.
Uložení dat v paměti počítače
Uložení dat v paměti počítače
Znaky
Znaky
Vícebajtová kódování
Vícebajtová kódování
45/50
UTF – UCS Transformation Format Zmírňuje redundanci univerzálního kódu UCS Varianty UTF-8, UTF-16, UTF-32 UTF-8
UTF signatura – označení pořadí bajtů v souboru Kódování
— odstraňuje nevýhody Unicode (dvojnásobná délka souborů oproti ASCII, problémy s Little/Big Endianem) — znaky jsou kódovány na 1–3 B
Unicode
Význam. bitů max.
Kódování UTF-8
0000–007F
7
0xxxxxxx
0080–07FF
11
110xxxxx 10xxxxx
0800–FFFF
16 Výpočetní technika I
Obsah souboru
UTF-8
EF BB BF …
UTF-16 Little Endian
FF FE …
UTF-16 Big Endian
FE FF …
Převod mezi Unicode a UTF-8�
.
46/50
BOM – Byte-Order Mark
UTF-32 Little Endian
FF FE 00 00 …
UTF-32 Big Endian
00 00 FE FF …
1110xxxx 10xxxxxx 10xxxxxx .
Přednáška 2: Vnitřní reprezentace dat
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
Uložení dat v paměti počítače
Uložení dat v paměti počítače
Zvuky
Znaky Vícebajtová kódování
47/50
Kódování národních znaků – shrnutí
Přímý záznam
Příklad: textový soubor se slovem „Béďa“ ASCII / ISO 8859-2 — 42 E9 EF 61
— digitalizace frekvencí a amplitud zvukových vln — výsledkem rozsáhlé soubory (např. WAV), často se používá komprese (MP3, WMA, AAC, Ogg Vorbis)
4B
Unicode Little Endian — FF FE 42 00 E9 00 0F 01 61 00
MIDI sekvence (Musical Instruments Digital Interface)
10 B
— stručný digitální popis výšky jednotlivých tónů, jejich intenzity, délky a nejrůznějších doprovodných efektů — výstupní zvukové zařízení z těchto informací umí vytvářet zvuky — signál neobsahuje zvuk, ale pouze pokyny pro jeho vytvoření — nelze zaznamenat lidský hlas ani žádný hudební nástroj, který syntetizátor nedokáže zahrát — velmi malé soubory, převod WAV do MP3 nebo MIDI je náročný
Unicode Big Endian — FE FF 00 42 00 E9 01 0F 00 61
10 B
UTF-8 — EF BB BF 42 C3 A9 C4 8F 61 �
.
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
48/50
Uložení zvukové informace
9B
.
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
.
Uložení dat v paměti počítače
Uložení dat v paměti počítače
Obrazy
Obrazy
49/50
Uložení obrazové informace Rastrová grafika
Datové formáty
— obraz tvořen maticí bodů (pixelů), jejichž barva se skládá ze tří složek – červené, zelené a modré (RGB – Red, Green, Blue) — intenzitu barvy každé složky ukládáme v paměti zvlášť — dnes nejrozšířenější model: odstín každého bodu uložen jako 8bitové číslo (28 = 256 možností) — informace o barvě každého pixelu tedy zabere v paměti 3 B (3 složky × 1 B), celkem 2563 = 16 777 216 různých barev — model RGBA používá ještě čtvrtý bajt pro uložení informace o intenzitě průhlednosti pixelu (tzv. alfa kanál)
— vyjádření hodnot datového typu — formátová specifikace — textový a binární formát
Souborové formáty — otevřený a uzavřený formát — rozpoznávání formátu — asociace a konverze
Komprimace a archivace — komprimační metody — archivace a zálohování — metody a postupy archivace
Vektorová grafika — obraz tvořen geometrickými objekty (body, přímky, křivky, …) — využití pro tvorbu ilustrací, diagramů, schémat apod.
.
.
50/50
Osnova příští přednášky
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat
.
.
Výpočetní technika I
Přednáška 2: Vnitřní reprezentace dat