.. Výpočetní technika I Ing. Pavel Haluza ústav informatiky PEF MENDELU v Brně pavel.haluza@mendelu.cz
Osnova přednášky ergonomie údržba počítače poziční a nepoziční soustavy převody mezi aritmetické operace v různých soustavách kladná čísla záporná čísla BCD číslice reálná čísla Výpočetní technika I Přednáška 2: 2 / 36
Ergonomie Ergonomie Ú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 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 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: 3 / 36
Problémy při špatném sezení u počítače Ergonomie Údržba počítače Výpočetní technika I Přednáška 2: 4 / 36
Údržba počítače Ergonomie Údržba počítače 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 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: 5 / 36
Údržba počítače Ergonomie Údržba počítače 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! 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 Výpočetní technika I Přednáška 2: 6 / 36
Nepoziční soustavy Unární soustava Poziční soustavy Způsob vyjádření určitého počtu základních jednotek K vyjádření velikosti čísla užíváme elementární symboly 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 nepoziční soustavy poziční soustavy Výpočetní technika I Přednáška 2: 7 / 36
Nepoziční soustavy Nepoziční soustavy Unární soustava Poziční soustavy 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 mayské číslice egyptské číslice řecké číslice Výpočetní technika I Přednáška 2: 8 / 36
Nepoziční soustavy Nepoziční soustavy Unární soustava Poziční soustavy Ří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 I 1 V 5 X 10 L 50 C 100 D 500 M 1 000 Symbol Význam IV 4 IX 9 XL 40 XC 90 CD 400 CM 900 Výpočetní technika I Přednáška 2: 9 / 36
Unární soustava Nepoziční soustavy Unární soustava Poziční soustavy Soustava o základu z = 1 Někdy označována jako speciální forma poziční soustavy, ale není nepoziční Číslo je vyjádřeno opakováním stejného symbolu Výpočetní technika I Přednáška 2: 10 / 36
Poziční soustavy Nepoziční soustavy Unární soustava Poziční soustavy Hodnota každé číslice je dána její pozicí v čísle, tím je dána váha pro výpočet celkové hodnoty čísla Nezbytným předpokladem pro použití pozičních 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 poziční zápis (a n a 0 ) z polynomiální zápis ± + i= a i z i, kde a i {0,, z 1} Výpočetní technika I Přednáška 2: 11 / 36
Významné soustavy Nepoziční soustavy Unární soustava Poziční soustavy Dvojková soustava (binární) 2 číslice (0, 1) používají všechny moderní počítače Osmičková soustava (oktalová) 8 číslic (0, 1,, 7) Desítková soustava (dekadická) 10 číslic (0, 1,, 9) Šestnáctková soustava (hexadecimální) 16 číslic MAC adresy, odstíny barev na webu, Jak vyjádřit šestnáctkovou soustavu, když máme k dispozici jen 10 číslic? 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 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: 12 / 36
Podoba čísel ve významných soustavách Nepoziční soustavy Unární soustava Poziční soustavy 10 2 8 16 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 10 2 8 16 14 1110 16 E 15 1111 17 F 16 10000 20 10 17 10001 21 11 18 10010 22 12 19 10011 23 13 20 10100 24 14 21 10101 25 15 22 10110 26 16 23 10111 27 17 24 11000 30 18 25 11001 31 19 26 11010 32 1A 27 11011 33 1B Výpočetní technika I Přednáška 2: 13 / 36
Důvody pro zavedení dvojkové soustavy Nepoziční soustavy Unární soustava Poziční soustavy Počítač je zařízení, které zpracovává jen číselné údaje Tyto číselné údaje jsou v počítači uloženy ve dvojkové soustavě, tj. vše v podobě pouze 0 a 1 Logické obvody počítačů pracují se dvěma různými 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) Výpočetní technika I Přednáška 2: 14 / 36
Z desítkové do libovolné Z libovolné do desítkové Soustavy se základem 2 n Převod z desítkové soustavy do libovolné postupně dělíme základem cílové soustavy a sbíráme zbytky Hledáme hodnoty a 0,, a n tak, aby platilo x = a n z n + + a 1 z + a 0 Příklad: převádíme 123 do devítkové soustavy 123 div 9 = 13 123 mod 9 = a 0 = 6 13 div 9 = 1 13 mod 9 = a 1 = 4 1 div 9 = 0 1 mod 9 = a 2 = 1 Kontrola: x = a 2 z 2 + a 1 z 1 + a 0 = 1 9 2 + 4 9 1 + 6 = 123 123 10 = 146 9 Výpočetní technika I Přednáška 2: 15 / 36
Z desítkové do libovolné Z libovolné do desítkové Soustavy se základem 2 n Desetinná čísla při převodu rozdělíme na celou a desetinnou část 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 = a 0 = 0 4 div 8 = 0 4 mod 8 = a 1 = 4 0,75 8 = 6,0 celá část (a 1 ) = 6, desetinná část = 0,0 Kontrola: x = a 1 z 1 + a 0 + a 1 z 1 = 4 8 1 + 0 + 6 8 1 = 32,75 32,75 10 = 40,6 8 Výpočetní technika I Přednáška 2: 16 / 36
Z desítkové do libovolné Z libovolné do desítkové Soustavy se základem 2 n Převod z libovolné soustavy do desítkové vyčíslením z-adického tvaru čísla ve tvaru řady x = a n z n + + a 1 z + a 0 Příklady: 314 5 = 3 5 2 + 1 5 1 + 4 5 0 = 84 1001 2 = 1 2 3 + 0 2 2 + 0 2 1 + 1 2 0 = 9 F1 16 = 15 16 1 + 1 16 0 = 241 17 8 = 1 8 1 + 7 8 0 = 15 411 7 = 4 7 2 + 1 7 1 + 1 7 0 = 204 123 10 = 1 10 2 + 2 10 1 + 3 10 0 = 123 3,21 4 = 3 4 0 + 2 4 1 + 1 4 2 = 3,5625 Výpočetní technika I Přednáška 2: 17 / 36
Z desítkové do libovolné Z libovolné do desítkové Soustavy se základem 2 n Převod mezi o základu 2 n pro použití v počítači mají hlavní význam 1 číslice soustavy o základu 2 n odpovídá n číslicím binární soustavy 1 číslice osmičkové soustavy odpovídá 3 číslicím dvojkové soustavy, protože 8 = 2 3 příklad: 6 8 = 110 2 Převod mezi libovolnými nejjednodušší způsob přes desítkovou soustavu příklad: 1F 16 = 31 10 = 111 5 Výpočetní technika I Přednáška 2: 18 / 36
Sčítání a odčítání Sčítání a odčítání Násobení 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: 423 6 1341 6 521 6 3125 6 42714 8 17043 8 23651 8 Výpočetní technika I Přednáška 2: 19 / 36
Násobení Sčítání a odčítání Násobení 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: 32 4 21 4 32 4 130 4 1332 4 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á Výpočetní technika I Přednáška 2: 20 / 36
Kladná čísla Záporná čísla BCD číslice Operační paměť počítače je rozdělena do adresovatelných jednotek velikosti slabiky (bajtu) 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 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) Výpočetní technika I Přednáška 2: 21 / 36
Kladná čísla Uložení čísla v jedné slabice: Kladná čísla Záporná čísla BCD číslice Dekadicky 0 137 255 Binárně ve slabice 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 0 0 0 0 0 0 0 0 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 1 0 0 0 1 0 0 1 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 1 1 1 1 1 1 1 1 Výpočetní technika I Přednáška 2: 22 / 36
Záporná čísla Kladná čísla Záporná čísla BCD číslice Bit nejvyššího řádu je obětován pro znaménko 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: 23 / 36
Přímý kód Kladná čísla Záporná čísla BCD číslice 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 00111110 2 (62) 10111110 2 ( 62) Problém: nelze sčítat kladná a záporná čísla 00000011 2 (3) 10000101 2 ( 5) 10001000 2 ( 8) Z výše uvedeného důvodu přímý kód nelze použít Výpočetní technika I Přednáška 2: 24 / 36
Inverzní kód Kladná čísla Záporná čísla BCD číslice Vyjdeme z přímého kódu, u všech významových bitů (tzn. kromě znaménkového) provedeme inverzi Příklad: vyjádření čísel 62 a 62 00111110 2 (62) 10111110 2 ( 62, přímý kód) 11000001 2 ( 62, inverzní kód) Problém: dvě různé nuly při porovnávání 00000000 2 (+0) 11111111 2 ( 0) Z výše uvedeného důvodu inverzní kód nelze použít Výpočetní technika I Přednáška 2: 25 / 36
Doplňkový kód Kladná čísla Záporná čísla BCD číslice Vyjdeme z inverzního kódu, k číslu přičteme jedničku Příklad: vyjádření čísel 62 a 62 00111110 2 (62) 10111110 2 ( 62, přímý kód) 11000001 2 ( 62, inverzní kód) + 1 2 11000010 2 ( 62, doplňkový kód) Doplňkový kód řeší oba zmíněné problémy 00000011 2 11111101 2 11111110 2 (3) ( 5) ( 2) 00000000 2 11111111 2 + 1 2 00000000 2 (+0) ( 0) Výpočetní technika I Přednáška 2: 26 / 36
Doplňkový kód Kladná čísla Záporná čísla BCD číslice 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 10111101 2 ( 67) 10111101 2 ( 67) 01111010 2 (122) Výpočetní technika I Přednáška 2: 27 / 36
Kód s posunutou nulou (aditivní kód) Kladná čísla Záporná čísla BCD číslice Přičítá k číslu nějakou známou konstantu Například pro osmibitová čísla (2 8 = 256 čísel) 00000000 128 10000000 0 11111111 127 Příklad: vyjádření čísel 3 a 3 10000011 2 01111001 2 (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: 28 / 36
Záporná čísla v počítači Kladná čísla Záporná čísla BCD číslice 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 byte 8 bitů ne 0; 2 8 1 0 až 255 shortint 8 bitů ano 2 7 ; 2 7 1 128 až 127 word 16 bitů ne 0; 2 16 1 0 až 65 535 integer 16 bitů ano 2 15 ; 2 15 1 32 768 až 32 767 longint 32 bitů ano 2 31 ; 2 31 1 cca 2 10 9 až 2 10 9 Výpočetní technika I Přednáška 2: 29 / 36
Efektivní převod do doplňkového kódu Kladná čísla Záporná čísla BCD číslice Záporné číslo sečteme s číslem 2 n, 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 2 8 = 256 hodnot 256 + ( 120) = 256 120 = 136 136 = 10001000 2 Příklad: zobrazení čísla 120 v proměnné typu integer rozsah 2 16 = 65 536 hodnot 65 536 + ( 120) = 65 536 120 = 65 416 65 416 = 1111111110001000 2 Výpočetní technika I Přednáška 2: 30 / 36
Znaménková čísla shrnutí Kladná čísla Záporná čísla BCD číslice 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 datový typ Příklad: hodnota 10001000 2 může reprezentovat číslo 136 v proměnné typu byte číslo 120 v proměnné typu shortint (136 2 8 ) ale také znak s kódem 136 v proměnné typu char Výpočetní technika I Přednáška 2: 31 / 36
Uložení číslic desítkové soustavy Kladná čísla Záporná čísla BCD číslice 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ýpočetní technika I Přednáška 2: 32 / 36
Kladná čísla Záporná čísla BCD číslice 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 Oblast paměti, ve které je uloženo reálné číslo, je rozdělena do tří částí znaménko nejvyšší bit (0 = kladné, 1 = záporné) exponent nese informaci o velikosti čísla mantisa uchovává číslice Matematicky lze reálné číslo vyjádřit jako Znaménko Mantisa 2 Exponent Výpočetní technika I Přednáška 2: 33 / 36
Kladná čísla Záporná čísla BCD čí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ů Výpočetní technika I Přednáška 2: 34 / 36
Kladná čísla Záporná čísla BCD číslice Mantisa kromě případu čísla 0 vždy začíná (v binární podobě) jedničkou, která se neukládá 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 2 n 1 1 (kód posunuté nuly posouvá nulu zhruba doprostřed rozsahu), kde n je počet bitů exponentu Detailnější informace http://amber.feld.cvut.cz/psp/ieee754.htm http://www.root.cz/clanky/norma-ieee-754-apribuzni-formaty-plovouci-radove-tecky/ Výpočetní technika I Přednáška 2: 35 / 36
Posunutá forma exponentu Kladná čísla Záporná čísla BCD číslice K exponentu se přičítá tzv. bias single precision (8b exp.) bias = 127 (2 8 1 1) double precision (11b exp.) bias = 1023 (2 11 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,1 2 = 1,1001 2 2 3 mantisa: 1001 exponent (8b): 3 + 127 = 130 = 10000010 výsledné číslo: 1 10000010 1001000 00 záporné exponent mantisa (23b) Výpočetní technika I Přednáška 2: 36 / 36