.
Přednáška 2:
Osnova přednášky
Čísla v počítači
Práce s počítačem
. .
Číselné soustavy Převody mezi soustavami
Čísla v počítači
Aritmetické operace Uložení čísel v paměti počítače
Výpočetní technika I Ing. Pavel Haluza ústav informatiky PEF MENDELU v Brně
. Výpočetní technika I
.
Přednáška 2:
Práce s počítačem Ergonomie Údržba počítače
Číselné soustavy Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače
• Číselné soustavy — poziční a nepoziční soustavy — převody mezi soustavami — aritmetické operace v různých soustavách • Uložení čísel v paměti počítače — kladná čísla — záporná čísla — BCD číslice — reálná čísla
[email protected]
Ergonomie
Čísla v počítači
• Práce s počítačem — ergonomie — údržba počítače
Přednáška 2:
Čísla v počítači
Přednáška 2: Čísla v počítači
2 / 36
Problémy při špatném sezení u počítače
Práce s počítačem
• Nauka o tom, jak má člověk pracovat u počítače, aby
Ergonomie Údržba počítače
mu to způsobilo co nejmenší zdravotní újmu
Číselné soustavy
• Držení těla — 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 položeny celou plochou chodidla na podlaze
Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače
• 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 (viditelné záření) — delší vzdálenost vyžaduje namáhavé zaostřování
. Výpočetní technika I
Přednáška 2: Čísla v počítači
3 / 36
. Výpočetní technika I
Přednáška 2: Čísla v počítači
4 / 36
.
Přednáška 2:
Údržba počítače
Čísla v počítači
Práce s počítačem Ergonomie Údržba počítače
Číselné soustavy Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače
Přednáška 2:
Práce s počítačem
• Prach, tekutiny, drobky, mechanické vlivy — počítač je plný elektroniky, proto doslova 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
Ergonomie Údržba počítače
Číselné soustavy Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače
• Teplo — 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:
Číselné soustavy
Čísla v počítači
Práce s počítačem Číselné soustavy Nepoziční soustavy Unární soustava
•
Aritmetické operace Uložení čísel v paměti počítače
• • •
nazvané číslice a jejich kombinace Počet různých symbolů užitých v soustavě definuje základ soustavy, který není v soustavě nikdy obsažen Počet symbolů v dané soustavě je vždy roven základu Nekonečně mnoho soustav, ale vždy stejný princip Dělení podle způsobu určení hodnoty čísla
• Magnetické a elektromagnet. pole, elektřina, záření — škodí především datům uloženým na magnetických pamětech (pevný disk, disketa) — motor tiskáren může produkovat elektromagnet. 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
Přednáška 2:
Nepoziční soustavy Unární soustava Poziční soustavy
Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače
6 / 36
Přednáška 2: Čísla v počítači
Nepoziční soustavy
Čísla v počítači
Číselné soustavy
• K vyjádření velikosti čísla užíváme elementární symboly
• Cigarety — 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!
. Výpočetní technika I
Práce s počítačem
• Způsob vyjádření určitého počtu základních jednotek
Poziční soustavy
Převody mezi soustavami
5 / 36
Přednáška 2: Čísla v počítači
Údržba počítače
Čísla v počítači
• Dnes téměř nepoužíváno, spíše historická záležitost • Hodnota číslice není dána jejím umístěním v čísle • Neobsahují symbol pro nulu a záporná čísla • 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
— nepoziční soustavy — poziční soustavy
mayské číslice . Výpočetní technika I
Přednáška 2: Čísla v počítači
7 / 36
. Výpočetní technika I
egyptské číslice Přednáška 2: Čísla v počítači
řecké číslice 8 / 36
.
Přednáška 2:
Nepoziční soustavy
Čísla v počítači
Práce s počítačem Číselné soustavy Nepoziční soustavy Unární soustava Poziční soustavy
Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače
I V X L C D M
. Výpočetní technika I
IV IX XL XC CD CM
Nepoziční soustavy
Číselné soustavy Nepoziční soustavy Unární soustava Poziční soustavy
Převody mezi soustavami
Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače
soustavy, ale není nepoziční • Číslo je vyjádřeno opakováním stejného symbolu
Uložení čísel v paměti počítače
9 / 36
Poziční soustavy
. Výpočetní technika I
Přednáška 2:
Práce s počítačem
• Hodnota každé číslice je dána její pozicí v čísle, tím je
Číselné soustavy
dána váha pro výpočet celkové hodnoty čísla
Nepoziční soustavy
10 / 36
Přednáška 2: Čísla v počítači
Významné soustavy
Čísla v počítači
• Dvojková soustava (binární) – 2 číslice (0, 1) — používají všechny moderní počítače
Unární soustava
• Nezbytným předpokladem pro použití pozičních
Poziční soustavy
soustav je existence symbolu pro nulu • Nejrozšířenější jsou polyadické soustavy o základu z, kde z je celé číslo větší než 1 (= počet číslic v soustavě) • Způsoby vyjádření čísla
Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače
— 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
— polynomiální zápis ±
ai zi , kde ai ∈ {0, …, z − 1}
• Za jakou soustavu lze považovat Morseovu abecedu?
i=−∞
Přednáška 2: Čísla v počítači
• Desítková soustava (dekadická) – 10 číslic (0, 1, …, 9) • Šestnáctková soustava (hexadecimální) – 16 číslic — MAC adresy, odstíny barev na webu, …
k dispozici jen 10 číslic?
(an …a0 )z
+∞ ∑
• Osmičková soustava (oktalová) – 8 číslic (0, 1, …, 7)
• Jak vyjádřit šestnáctkovou soustavu, když máme
— poziční zápis
. Výpočetní technika I
• Někdy označována jako speciální forma poziční
Aritmetické operace
Unární soustava Poziční soustavy
• Soustava o základu z = 1
4 9 40 90 400 900
Přednáška 2: Čísla v počítači
Přednáška 2:
Číselné soustavy
Unární soustava
Symbol Význam
1 5 10 50 100 500 1 000
Čísla v počítači
Práce s počítačem
Práce s počítačem
• Římské číslice — způsob zápisu čísel pomocí písmen latinské abecedy — základem soustavy je sedm symbolů — „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 pro zkrácení zápisu doplněny složené symboly, u kterých menší číslice předchází větší Symbol Význam
Přednáška 2:
Čísla v počítači
• Jaké číselné soustavy ještě znáte a běžně používáte? 11 / 36
. Výpočetní technika I
Přednáška 2: Čísla v počítači
12 / 36
.
Přednáška 2:
Čísla v počítači
Podoba čísel ve významných soustavách
Práce s počítačem
Práce s počítačem Číselné soustavy Nepoziční soustavy Unární soustava Poziční soustavy
Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače
. Výpočetní technika I
Přednáška 2:
Čísla v počítači
Práce s počítačem Číselné soustavy
Z desítkové do libovolné Z libovolné do desítkové Soustavy se základem 2
10
2
8
16
10
2
8
16
0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101
0 1 2 3 4 5 6 7 10 11 12 13 14 15
0 1 2 3 4 5 6 7 8 9 A B C D
14 15 16 17 18 19 20 21 22 23 24 25 26 27
1110 1111 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 11010 11011
16 17 20 21 22 23 24 25 26 27 30 31 32 33
E F 10 11 12 13 14 15 16 17 18 19 1A 1B
Přednáška 2: Čísla v počítači
Číselné soustavy Unární soustava
Převody mezi soustavami
n
Aritmetické operace Uložení čísel v paměti počítače
. Výpočetní technika I
Uložení čísel v paměti počítače
• Převod z desítkové soustavy do libovolné – postupně
. Výpočetní technika I
Práce s počítačem Číselné soustavy
Soustavy se základem 2
14 / 36
Převody mezi soustavami • Desetinná čísla při převodu rozdělíme na celou
a desetinnou část
Z libovolné do desítkové n
Aritmetické operace Uložení čísel v paměti počítače
15 / 36
Přednáška 2: Čísla v počítači
Přednáška 2:
Z desítkové do libovolné
x = an zn + … + a1 z + a0 • 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 • Kontrola: x = a2 z2 + a1 z1 + a0 = 1 · 92 + 4 · 91 + 6 = 123 12310 = 1469
stavy – zapnuto (1), vypnuto (0), technicky není problém rozlišit (proud protéká × neprotéká) • Nejmenší jednotkou paměti je buňka, která dokáže uchovat informaci o velikosti 1 bitu • Dvojkovou soustavu představil již německý filozof, vědec a matematik Gottfried Wilhelm von Leibniz (1646–1716)
Čísla v počítači
Převody mezi soustavami
• Hledáme hodnoty a0 , …, an tak, aby platilo
Přednáška 2: Čísla v počítači
• Logické obvody počítačů pracují se dvěma různými
Aritmetické operace
Převody mezi soustavami
• Počítač je zařízení, které zpracovává jen číselné údaje
soustavě, tj. vše v podobě pouze 0 a 1
Poziční soustavy
13 / 36
Důvody pro zavedení dvojkové soustavy • Tyto číselné údaje jsou v počítači uloženy ve dvojkové
Nepoziční soustavy
dělíme základem cílové soustavy a sbíráme zbytky
Převody mezi soustavami
Přednáška 2:
Čísla v počítači
. Výpočetní technika I
• Celou část převedeme standardně dělením základem
cílové soustavy a sběrem zbytků • 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 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 = a1 z1 + a0 + a−1 z−1 = 4 · 81 + 0 + 6 · 8−1 = 32,75 32,7510 = 40,68 Přednáška 2: Čísla v počítači
16 / 36
.
Přednáška 2:
Čísla v počítači
Práce s počítačem Číselné soustavy Převody mezi soustavami Z desítkové do libovolné Z libovolné do desítkové Soustavy se základem 2
n
Aritmetické operace Uložení čísel v paměti počítače
. Výpočetní technika I
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 • 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
Přednáška 2:
Práce s počítačem Číselné soustavy Převody mezi soustavami Aritmetické operace Sčítání a odčítání Násobení
Uložení čísel v paměti počítače
. Výpočetní technika I
Z desítkové do libovolné Z libovolné do desítkové Soustavy se základem 2
n
Uložení čísel v paměti počítače
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ř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:
Číselné soustavy
• 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 427148 13416 −170438 5216 236518 31256
19 / 36
Převody mezi soustavami Aritmetické operace Sčítání a odčítání Násobení
Uložení čísel v paměti počítače
. Výpočetní technika I
18 / 36
Přednáška 2: Čísla v počítači
Násobení
Čísla v počítači
Práce s počítačem
• Stejný princip ve všech soustavách, tedy i v desítkové
Přednáška 2: Čísla v počítači
Číselné soustavy
Aritmetické operace
Sčítání a odčítání
Čísla v počítači
Práce s počítačem
Převody mezi soustavami
17 / 36
Přednáška 2: Čísla v počítači
Přednáška 2:
Čísla v počítači
• 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á Přednáška 2: Čísla v počítači
20 / 36
.
Přednáška 2:
Čísla v počítači
Čísla v počítači
Práce s počítačem Číselné soustavy Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače Kladná čísla Záporná čísla BCD číslice Reálná čísla
. Výpočetní technika I
Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače Kladná čísla Záporná čísla BCD číslice Reálná čísla
. Výpočetní technika I
Převody mezi soustavami
Uložení čísel v paměti počítače
• Uložení čísla v jedné slabice:
Dekadicky 0
Kladná čísla Záporná čísla BCD číslice Reálná čísla
137 255
21 / 36
Záporná čísla
. Výpočetní technika I
Převody mezi soustavami
bitů, ve 2 bajtech pouze 15 bitů apod.
Aritmetické operace Uložení čísel v paměti počítače Kladná čísla Záporná čísla
• 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
BCD číslice Reálná čísla
23 / 36
26
25
24
23
22
21
0
0
0
0
0
0
0
0
27
26
25
24
23
22
21
20
. Výpočetní technika I
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
22 / 36
Přednáška 2: Čísla v počítači
Přednáška 2:
Číselné soustavy
• Pro vyjádření hodnoty potom zůstává v 1 bajtu pouze 7
Binárně ve slabice 27
Přímý kód
Čísla v počítači
Práce s počítačem
• Bit nejvyššího řádu je obětován pro znaménko — 0xxxxxxx – kladné číslo — 1xxxxxxx – záporné číslo
Přednáška 2: Čísla v počítači
Kladná čísla
Aritmetické operace
nejnižšího řádu, bit 7 je bitem nejvyššího řádu • Možnosti uložení čísel v počítači — kladná čísla – přímo na daném prostoru bez ú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)
Přednáška 2:
Číselné soustavy
Číselné soustavy
adresovatelných jednotek velikosti slabiky (bajtu) • Ve slabice číslujeme bity 0 a 7, přičemž bit 0 je bitem
Čísla v počítači
Práce s počítačem
Práce s počítačem
• Operační paměť počítače je rozdělena do
Přednáška 2: Čísla v počítači
Přednáška 2:
Čísla v počítači
• 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 101111102
(62) (−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
Přednáška 2: Čísla v počítači
24 / 36
.
Přednáška 2:
Inverzní kód
Čísla v počítači
Práce s počítačem Číselné soustavy Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače Kladná čísla Záporná čísla BCD číslice Reálná čísla
. Výpočetní technika I
Číselné soustavy Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače Kladná čísla Záporná čísla BCD číslice Reálná čísla
Číselné soustavy
(tzn. kromě znaménkového) provedeme inverzi
Převody mezi soustavami
• Příklad: vyjádření čísel 62 a −62
Aritmetické operace
001111102 (62) (−62, přímý kód) 101111102 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
Uložení čísel v paměti počítače Kladná čísla Záporná čísla BCD číslice Reálná čísla
25 / 36
Přednáška 2: Čísla v počítači
Přednáška 2:
Práce s počítačem
Práce s počítačem
• Vyjdeme z přímého kódu, u všech významových bitů
Doplňkový kód
Čísla v počítači
Přednáška 2:
. Výpočetní technika I
Přednáška 2:
Čísla v počítači
Práce s počítačem
• Sčítání ve dvojkovém doplňkovém kódu je stejné jako
Číselné soustavy
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 (−67) 101111012 (−67) (122) 011110102
Doplňkový kód
Čísla v počítači
Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače Kladná čísla Záporná čísla BCD číslice Reálná čísla
• 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
(+0)
(−0)
26 / 36
Přednáška 2: Čísla v počítači
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 čísel) — 00000000 ∼ −128 — 10000000 ∼ 0 — 11111111 ∼ 127 • Příklad: vyjádření čísel 3 a −3
100000112 011110012
(3) (−3)
• Nevýhoda: zápis kladného čísla se liší od
bezznaménkové reprezentace čísel • Operace sčítání nepotřebuje úpravy, ale pro násobení je
nutné od operandů odečíst známou konstantu • Použití pro reprezentaci exponentu reálných čísel
. Výpočetní technika I
Přednáška 2: Čísla v počítači
27 / 36
. Výpočetní technika I
Přednáška 2: Čísla v počítači
28 / 36
.
Přednáška 2:
Záporná čísla v počítači
Čísla v počítači
Práce s počítačem Číselné soustavy Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače Kladná čísla
BCD číslice Reálná čísla
obětován pro znaménko, jinak je součástí hodnoty čísla (hodnotový bit) • Celočíselné datové typy v jazyce Pascal Název byte shortint word integer longint
. Výpočetní technika I
Délka Znam.
Přednáška 2:
Číselné soustavy Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače Kladná čísla Záporná čísla
8 bitů 8 bitů 16 bitů 16 bitů 32 bitů
ne ano ne ano ano
Rozsah
Hodnoty
Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače Záporná čísla BCD číslice Reálná čísla
29 / 36
Znaménková čísla – shrnutí
. Výpočetní technika I
Přednáška 2:
Čísla v počítači
Práce s počítačem
• 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
Číselné soustavy Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače
• Ve dvou slabikách (2 bajtech, 16 bitech) může být
Kladná čísla
uloženo
BCD číslice
— čí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
Reálná čísla
• 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
30 / 36
Přednáška 2: Čísla v počítači
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
Přednáška 2: Čísla v počítači
• 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ů
• O významu uložených bitů rozhoduje 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 ) — ale také znak s kódem 136 v proměnné typu char
. Výpočetní technika I
Efektivní převod do doplňkového kódu
Záporná čísla
BCD číslice Reálná čísla
Číselné soustavy
Kladná čísla
h0; 28 − 1i 0 až 255 h−27 ; 27 − 1i −128 až 127 h0; 216 − 1i 0 až 65 535 h−215 ; 215 − 1i −32 768 až 32 767 h−231 ; 231 − 1i cca −2 · 109 až 2 · 109
Přednáška 2: Čísla v počítači
Čísla v počítači
Práce s počítačem
Práce s počítačem
• Pokud je třeba ukládat záporná čísla, je nejvyšší bit
Záporná čísla
Přednáška 2:
Čísla v počítači
• Příklad: zobrazení čísla 35
Horní půlslabika 0011 (= 3)
31 / 36
. Výpočetní technika I
Přednáška 2: Čísla v počítači
Dolní půlslabika 0101 (= 5)
32 / 36
.
Přednáška 2:
Reálná čísla
Čísla v počítači
Práce s počítačem Číselné soustavy Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače Kladná čísla Záporná čísla BCD číslice Reálná čísla
• Jsou v počítači uložena podle standardu IEEE 754 — IEEE = Institute of Electrical and Electronics Engineers — organizace elektroinženýrů a informatiků — spolu s ISO a ANSI patří k nejvýznamnějším standardizačním organizacím — http://www.ieee.org, příp. http://www.ieee.cz
Přednáška 2:
Práce s počítačem Číselné soustavy Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače Kladná čísla Záporná čísla BCD číslice
• Oblast paměti, ve které je uloženo reálné číslo, je
Reálná čísla
Čísla v počítači
Reálná čísla
rozdělena do tří částí — znaménko – nejvyšší bit (0 = kladné, 1 = záporné) — exponent – nese informaci o velikosti čísla — mantisa – uchovává číslice
• Single precision — 32bitová čísla — znaménko 1 bit, mantisa 23 bitů, exponent 8 bitů • Double precision — 64bitová čísla — znaménko 1 bit, mantisa 52 bitů, exponent 11 bitů • Extended precision — 80bitová čísla — znaménko 1 bit, mantisa 64 bitů, exponent 15 bitů
• Matematicky lze reálné číslo vyjádřit jako
Znaménko Mantisa × 2Exponent . Výpočetní technika I
Přednáška 2:
Reálná čísla
Čísla v počítači
Práce s počítačem Číselné soustavy Převody mezi soustavami Aritmetické operace Uložení čísel v paměti počítače Kladná čísla Záporná čísla BCD číslice Reálná čísla
33 / 36
Přednáška 2: Čísla v počítači
. Výpočetní technika I
Přednáška 2:
Čísla v počítači
Práce s počítačem
• Mantisa — kromě případu čísla 0 vždy začíná (v binární podobě) jedničkou, která se neukládá
Číselné soustavy Převody mezi soustavami
• Exponent — 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
Aritmetické operace Uložení čísel v paměti počítače Kladná čísla Záporná čísla BCD číslice Reálná čísla
• Detailnější informace — http://amber.feld.cvut.cz/psp/IEEE754.htm — http://www.root.cz/clanky/norma-ieee-754-a-
Přednáška 2: Čísla v počítači
34 / 36
Posunutá forma exponentu • 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) • 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 — mantisa: 1001 — exponent (8b): 3 + 127 = 130 = 10000010 — výsledné číslo: 1 10000010 1001000…00 ↑ ↑ ↑ záporné exponent mantisa (23b)
pribuzni-formaty-plovouci-radove-tecky/
. Výpočetní technika I
Přednáška 2: Čísla v počítači
35 / 36
. Výpočetní technika I
Přednáška 2: Čísla v počítači
36 / 36