Principy počítačů. Prof. RNDr. Peter Mikulecký, PhD.

Podobné dokumenty
Číselné soustavy. Ve světě počítačů se využívají tři základní soustavy:

ČÍSELNÉ SOUSTAVY PŘEVODY

3 Jednoduché datové typy Interpretace čísel v paměti počítače Problémy s matematickými operacemi 5

Číselné soustavy a převody mezi nimi

Základní jednotky používané ve výpočetní technice

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Fz =a z + a z +...+a z +a z =

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Číslo materiálu. Datum tvorby Srpen 2012

ČÍSELNÉ SOUSTAVY. Číselnou soustavu, která pro reprezentaci čísel využívá pouze dvou číslic, nazýváme soustavou dvojkovou nebo binární.

Kódováni dat. Kódy používané pro strojové operace

Mikroprocesorová technika (BMPT)

Číselné soustavy. Jedná se o způsob reprezentace čísel.

Čísla a číselné soustavy.

Algoritmy a datové struktury

Číselné soustavy. Binární číselná soustava

Nejvyšší řád čísla bit č. 7 bit č. 6 bit č.5 bit č. 4 bit č. 3 bit č. 2 bit č. 1 bit č. 0

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Výukový materiál zpracovaný v rámci projektu Výuka moderně Registrační číslo projektu: CZ.1.07/1.5.00/

Struktura a architektura počítačů (BI-SAP) 5

VY_32_INOVACE_CTE_2.MA_04_Aritmetické operace v binární soustavě Střední odborná škola a Střední odborné učiliště, Dubno Ing.

Kódy a kódování dat. Binární (dvojkové) kódy. Kód Aikenův

Převody mezi číselnými soustavami

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Y36SAP. Osnova. Číselné soustavy a kódy, převody, aritmetické operace Y36SAP Poziční číselné soustavy a převody.

Čísla v počítači Výpočetní technika I

Pokud není uvedeno jinak, uvedený materiál je z vlastních zdrojů autora

Informatika Datové formáty

Nejvyšší řád čísla bit č. 7 bit č. 6 bit č.5 bit č. 4 bit č. 3 bit č. 2 bit č. 1 bit č. 0

Převod Bin do BCD pomocí Hornerova schématu

ARITMETICKÉ OPERACE V BINÁRNÍ SOUSTAVĚ

1. Základní pojmy a číselné soustavy

Přednáška 2: Čí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

1 Teorie čísel. Základní informace

PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných

Principy počítačů I Reprezentace dat

MATA Př 3. Číselné soustavy. Desítková soustava (dekadická) základ 10, číslice 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Aritmetické operace a obvody pro jejich realizaci

P2 Číselné soustavy, jejich převody a operace v čís. soustavách

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Číselné soustavy - Teorie

Číselné soustavy. Prvopočátky. Starověký Egypt a Mezopotámie. Již staří Římané

1.5.1 Číselné soustavy

v aritmetické jednotce počíta

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

IB112 Základy matematiky

( ) Jako základ mocnin nemusíme používat jen 10. Pokud není jasné, že číslo je uvedeno v desítkové soustavě, píšeme jej takto: ( ) 10

Úvod do programování 7. hodina

1.5.2 Číselné soustavy II

Zobrazení dat Cíl kapitoly:

ISU Cvičení 1. Marta Čudová

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly

Architektury počítačů

2 Ukládání dat do paměti počítače

Čísla a aritmetika. Řádová čárka = místo, které odděluje celou část čísla od zlomkové.

Digitalizace dat metodika

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Informační a komunikační technologie

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu.

Racionální čísla. teorie řešené úlohy cvičení tipy k maturitě výsledky. Víš, že. Naučíš se

Variace. Mocniny a odmocniny

ČÍSLICOVÁ TECHNIKA OBSAH KAPITOLA 1 ČÍSELNÉ SOUSTAVY A KÓDY

Rozšiřování = vynásobení čitatele i jmenovatele stejným číslem různým od nuly

7 = 3 = = Učivo Vysvětlení Př. + pozn. Zlomek = vyjádření části celku 3 část snědla jsem 3 kousky

Algoritmizace a programování

OD NULY K NEKONEâNU Poãítej jako EgypÈan âíslice, které nestárnou

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

Analogově-číslicové převodníky ( A/D )

M - Příprava na pololetní písemku č. 1

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Úloha 1 Spojte binární obrazy na obrázku s hodnotami, které reprezentují.

Nerovnice a nerovnice v součinovém nebo v podílovém tvaru

Sada 1 - Základy programování

Vnitřní reprezentace dat

Reprezentace dat. INP 2008 FIT VUT v Brně

PB002 Základy informačních technologií

Technická kybernetika. Obsah. Principy zobrazení, sběru a uchování dat. Měřicí řetězec. Principy zobrazení, sběru a uchování dat

Variace. Číselné výrazy

Title: IX 6 11:27 (1 of 6)

1. Chyby vstupních dat metody převedení úlohy na numerickou (řád použité metody) zaokrouhlovací reprezentace čísel v počítači

Čísla, reprezentace, zjednodušené výpočty

Způsoby realizace této funkce:

Instrukce: Jednotlivé části nejdou přesně po sobě, jak jsme se učili, je to shrnutí.

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Operace s maticemi. 19. února 2018

Digitální signály a kódy

Název školy. Moravské gymnázium Brno s.r.o. Mgr. Marie Chadimová Mgr. Věra Jeřábková. Autor. Matematika1.ročník Operace s mnohočleny. Text a příklady.

Soustavy lineárních rovnic a determinanty

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Čísla, reprezentace, zjednodušené výpočty

BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky

4 Datové struktury. Datové struktury. Zobrazení dat v počítači

VEKTOROVÝ PROSTOR. Vektorový prostor V n je množina všech n-složkových vektorů spolu s operacemi sčítání, odčítání vektorů a reálný násobek vektoru.

Číselné vektory, matice, determinanty

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Násobení. MI-AAK(Aritmetika a kódy)

(Cramerovo pravidlo, determinanty, inverzní matice)

Transkript:

Principy počítačů Prof. RNDr. Peter Mikulecký, PhD.

Číselné soustavy Obsah přednášky: Přednáška 3 Číselné soustavy a převody mezi nimi Kódy, přímý, inverzní a doplňkový kód Znakové sady

Úvod Člověk se obvykle naučí o abecedu (26 znaků anglická, 42 česká) o číselnou soustavu (10 cifer) Přitom ale používáme o 10 soustavu o 60 soustavu (minuty, stupně) o 12 soustavu (hodiny, měsíce) o 7 soustavu (dny týdnu) Elektrické napětí - jen dvě úrovně (zapnuto/vypnuto) 3

Nepoziční soustavy K zápisu čísel používají číslice, jejichž váha nezávisí na pozici číslice v zápisu čísla. Přiřadíme-li číslici I hodnotu 1, pak II = 2, III = 3, IIII = 4, atd. Starověké národy (Starý Řím) zavedly i další číslice, jako je V = 5, X = 10, L = 50, C = 100, atd. římská číselná soustava. Staří Římané však částečně ustoupili od nepozičnosti, neboť např. v čísle IV má I váhu -1, zatímco v čísle VI má váhu +1. Čísla v nepozičních soustavách jsou nepřehledná a obtížná i pro elementární aritmetické operace. Díky nepozičnosti jejich číselné soustavy staří Římané k rozvoji matematiky v podstatě ničím nepřispěli. 4

Poziční (polyadické) soustavy V poziční, resp. polyadické soustavě má každá číslice v čísle pevně přiřazenu váhu závislou na pozici v čísle. Hodnota čísla N je pak v rozvinutém tvaru vyjádřena mnohočlenem (polynomem): N = a n.z n + a n-1.z n-1 + + a 2.Z 2 + a 1.Z 1 + a 0.Z 0 kde Z je základem polyadické soustavy koeficient a i je číslice v i-tém řádu. Číslice a i může nabývat hodnoty 0, 1,, (Z 1). Hodnota Z i představuje váhu číslice a i, můžeme tedy psát číslo N i ve tvaru uspořádané množiny číslic (a n, a n-1,, a i, a 0, a -1,, a -m ) 5

Dekadická soustava Dekadická (neboli desítková) soustava o Z = 10, a i = (0, 1,, 9) o Rozlišujeme tedy 10 číslic (0,1,2,3,4,5,6,7,8,9) o váha číslice je dána pozicí (umístěním) v čísle o např. 1869 1.10 3 + 8.10 2 + 6.10 1 + 9.10 0 6

Jiné používané soustavy Některé příklady: o o o Úhlová míra je založena na Z = 60, od úhlových vteřin, přes minuty a stupně až k plnému úhlu 360 = 6 x 60 Šedesátková soustava se používala i pro peníze (kopa grošů) a dodnes se tu a tam používá (např. pro počítání vajec). Staří Mayové do počítání zapojili i prsty na nohou, a tak měli dvacítkovou soustavu. V té donedávna počítali i Britové, neboť libra měla 20 šilinků. Používají se i polyadické soustavy s několika základy např. čas: o o o o o o o Z = 10 doby pod 1 sekundu (milisekundy, nanosekundy) Z = 60 od 1 sekundy do 1 hodiny Z = 12 den má 12, resp. 2 x 12 hodin Z = 7 týden má 7 dní Z = 12 rok má 12 měsíců Z = 365 / 366 počty dnů v roce Z = 10 doby v rocích (dekády) 7

Binární soustava Binární (neboli dvojková) číselná soustava Pro zpracování na počítačích se používají čísla se základem Z = 2 neboli binární čísla Rozlišují se jen dva stavy, zapisují se číslicemi 0 a 1, zápis binárních hodnot Př. (1011010) 2 = (90) 10 o 1.2 6 + 0.2 5 + 1.2 4 + 1.2 3 + 0.2 2 + 1.2 1 + 0.2 0 = 90 jednotky informace : 1 bit 1b jednotka informace 1 0 1 0 4 b = tetráda 0 1 1 1 0 1 0 1 8 b = 1 Byte 1B 8

Osmičková soustava Osmičková (neboli oktalová) soustava 3 binární bity = 1 oktalová číslice Číslice 0,1,2,3,4,5,6,7 tedy osm číslic (2 3 = 8) př. (100 110 101 010 111) 2 = (46527) 8 0 0 0 0 0 0 1 1 0 1 0 2 0 100 110 101 010 111 0 1 1 3 - ----- ----- ----- ----- ----- 1 0 0 4 0 4 6 5 2 7 1 0 1 5 1 1 0 6 1 1 1 7 Oktalová soustava však neumožňuje jednoduše sestavit zápis slova ze zápisu bytů (bajtů) 9

Šestnáctková soustava Šestnáctková (hexadecimální) soustava 4 bity = 1 hexadecimální číslice 16 číslic (2 4 = 16) Hexadecimální číslice pomocí binárních: 0 0 0 0 0 1 0 0 0 8 0 0 0 1 1 1 0 0 1 9 0 0 1 0 2 1 0 1 0 A 0 0 1 1 3 1 0 1 1 B 0 1 0 0 4 1 1 0 0 C 0 1 0 1 5 1 1 0 1 D 0 1 1 0 6 1 1 1 0 E 0 1 1 1 7 1 1 1 1 F 100 1101 0101 0111 = 4D57 10

Převody čísel binární dekadická je třeba znát mocniny 2: 2 0 = 1 2 4 = 16 2 1 = 2 2 5 = 32 2 2 = 4 2 6 = 64 2 3 = 8 2 7 = 128 0101 1010 1.2 1 = 2 1.2 3 = 8 1.2 4 = 16 1.2 6 = 64 90 2 8 = 256 2 9 = 512 2 10 = 1024 2 11 = 2048 2 12 = 4096 Atd. 11

Převody: Binární na dekadickou Každá binární číslice má v binárním čísle váhu dle toho, na kterém místě se nachází. V binárním čísle111, číslice umístěná nejvíce vpravo reprezentuje jedničky a má hodnotu 1. Technicky se jedná o místo 2 0. 12

Binární na dekadickou Druhá číslice zprava, 111, je na místě dvojek, což je zároveň i základem této číselné soustavy a její váha je 2. Technicky to znamená umístění 2 1. V dekadické soustavě by to bylo místo desítek a mělo by váhu 10. 13

Binární na dekadickou Třetí číslice zprava, 111, se nachází na místě čtyřek a má váhu 4. Technicky to znamená umístění 2 2. V dekadické soustavě by to odpovídalo místu stovek a mělo by váhu 100. 14

Binární na dekadickou Výslední dekadická hodnota binárního čísla 111 je tedy 4+2+1, což je sedm. Pokud bychom uvažovali dekadické číslo, pak by 111 bylo 100 + 10 + 1, tedy jedno sto jedenáct. 15

Binární na dekadickou Můžete určit dekadické hodnoty pro následující binární čísla? o11 o101 o110 o1111 o11011 16

Binární na dekadickou Tady jsou odpovědi: o11 je 3 při základě 10 o101 je 5 o110 je 6 o1111 je 15 o11011 je 27 17

Převody čísel: Dekadická na binární a n.z n + a n-1.z n-1 + + a 2.z 2 + a 1.z 1 + a 0.z 0 /z a n.z n-1 + a n-1.z n-2 + + a 2.z 1 + a 1.z 0 a 0 -zbytek /z a n.z n-2 + a n-1.z n-3 + + a 2.z 0 a 1 -zbytek /z a n.z n-3 + a n-1.z n-4 +... + a 2 -zbytek /z...... a n.z 0 a n-1 -zbytek /z 0 poslední číslice a n -zbytek --- Můžeme pak napsat výslední číslo: (a n a n-1.. a 2 a 1 a 0 ) Z 18

Převody čísel Dekadické na libovolné Musíme dělit dekadické číslo základem cílové číselné soustavy do té doby, než hodnota podílu bude menší jako základ soustavy. Příklad: (58) 10 = (111010) 2 58 : 2 = 29 + 0 29 : 2 = 14 + 1 14 : 2 = 7 + 0 7 : 2 = 3 + 1 3 : 2 = 1 + 1 1 : 2 = 0 + 1 19

Procvičování převodů (130) 10 = (?) 2 130 : 2 = 65 : 2 = 32 : 2 = 16 : 2 = 8 : 2 = 4 : 2 = 2 : 2 = 1 0 1 0 0 0 0 0 Přepíšeme číslice odzadu (130) 10 = (10000010) 2 Podíl po posledním dělení se nazývá MSB (most significant bit, tedy nejvýznamnější bit) Ověření správnosti převodu (10000010) 2 = 1.2 7 + 0.2 6 + 0.2 5 + 0.2 4 + 0.2 3 + 0.2 2 + 1.2 1 + 0.2 0 = 128 +0 + 0 + 0 + 0 + 0 + 2 + 0 = (130) 10 20

Procvičování převodů (130) 10 = (?) 7 130 : 7 = 18 : 7 = 2 4 4 (130) 10 = (244) 7 Ověření správnosti převodu (244) 7 = 2.7 2 + 4.7 1 + 4.7 0 = 98 + 28 + 4 = (130) 10 21

Procvičování převodů (130) 10 = (?) 16 - hexadecimální soustava 130 : 16 = 8 2 (130) 10 = (82) 16 Ověření správnosti převodu (82) 16 = 8.16 1 + 2.16 0 = 128 + 2 = (130) 10 22

Osmičkové na dekadické Váhy umístění číslic v oktalovém čísle jsou založeny na hodnotě 8. V číslu111 při základě 8, číslice nejvíc vpravo je na místě jedniček a její hodnota je 1. Technicky je váha toho místa 8 0. 23

Osmičkové na dekadické Druhá číslice zprava 111 je na místě osmiček, tedy 8 1 a má hodnotu 8. Třetí číslice 111 je na místě šedesát čtyřek, tedy 8 2 a má proto hodnotu 64. 24

Osmičkové na dekadické Celková dekadická hodnota tohoto osmičkového čísla 111 tedy je 64+8+1, neboli 73. 25

Osmičkové na dekadické Dokážete určit dekadické hodnoty pro následující oktalová čísla? o21 o156 o270 o1164 o2105 26

Osmičkové na dekadické Zde jsou odpovědi: o21 je 17 při základě 10 o156 je 110 o270 je 184 o1164 je 628 o2105 je 1093 27

Hexadecimalní na dekadickou Hexadecimální číslice mají váhy jednotlivých míst odvozené od základu 16. U čísla 111 se základem 16, číslice umístěná nejvíc vpravo, zastává místo jedniček a má hodnotu 1. Technicky to znamená váhu 16 0. 28

Hexadecimalní na dekadickou Druhá číslice zprava, tedy 111, je na místě šestnáctek a má tedy hodnotu 16. Technicky to znamená 16 1. Třetí číslice, ta nejvíc vlevo, tedy 111, je na místě dvěstě padesát šestek, a má hodnotu 256, což technicky znamená 16 2. 29

Hexadecimalní na dekadickou Celková hodnota hexadecimálního čísla 111, je v dekadickém vyjádření 256+16+1, tedy 273. 30

Hexadecimalní na dekadickou Dokážete najít dekadické ekvivalenty následujících hexadecimálních čísel? o2a o15f oa7c o11be oa10d 31

Hexadecimalní na dekadickou Tady jsou odpovědi: o2a je 42 při základu10 o15f je 351 oa7c je 2684 o11be je 4542 oa10d je 41229 32

Binární na osmičkové Převody mezi binárními a oktalovými čísly jsou velice snadné. Jelikož 2 umocněno na 3 je rovno 8, stačí nám tři binární číslice k vyjádření oktalových číslic. 33

Binární na osmičkové 000 při základě 2 je rovno 0 při základě 8 001 2 = 1 8 010 2 = 2 8 011 2 = 3 8 100 2 = 4 8 101 2 = 5 8 110 2 = 6 8 111 2 = 7 8 34

Binární na osmičkové Co dělat v případě, že máme víc, než tři binární číslice? Například 110011? Jednoduše rozdělíme binární číslice do skupin po třech, přičemž postupujeme z pravé strany, a každou skupinu třech číslic převedeme na příslušnou osmičkovou číslici. Tedy 110 011 při základě 2 = 63 při základě 8. 35

Binární na osmičkové Zkuste převést následující čísla: o111100 o100101 o111001 o1100101 Návod: pokud poslední skupina (tedy ta nejvíc vlevo) nemá tři členy, doplňte ji z levé strany nulami: 1100101 = 1 100 101 = 001 100 101 o110011101 36

Binární na osmičkové Zde jsou odpovědi: o111100 2 = 74 8 o100101 2 = 45 8 o111001 2 = 71 8 o1100101 2 = 145 8 o110011101 2 = 635 8 37

Binární na hexadecimální Převody mezi binárními čísly a hexadecimálními čísly jsou rovněž velmi jednoduché. Jelikož 2 umocněné na 4 se rovná 16, stačí nám 4 binární číslice k vyjádření všech hexadecimálních číslic. 38

Binární na hexadecimální 0000 při základě 2 se rovná 0 při základě 8 0001 2 = 1 16 0010 2 = 2 16 0011 2 = 3 16 0100 2 = 4 16 0101 2 = 5 16 0110 2 = 6 16 0111 2 = 7 16 1000 2 = 8 16 1001 2 = 9 16 1010 2 = A 16 1011 2 = B 16 1100 2 = C 16 1101 2 = D 16 1110 2 = E 16 1111 2 = F 16 39

Binární na hexadecimální V případě, že máme více než 4 binární číslice, např. 11010111, opětovně rozdělíme číslice do skupin po 4 číslicích, zase z pravé strany. Poté každou skupinu přímo převedeme na odpovídající šestnáctkovou číslici. 1101 0111 při základě 2 = D7 při základě 16 40

Binární na hexadecimální Zkuste následující příklady: o11011100 o10110101 o10011001 o110110101 Návod: pokud skupina nejvíc vlevo má méně než 4 číslice, doplňte li z levé strany nulami: 110110101 = 1 1011 0101 = 0001 1011 0101 o 1101001011101 41

Binární na hexadecimální Zde jsou výsledky: o11011100 2 = DC 16 o10110101 2 = B5 16 o10011001 2 = 99 16 o110110101 2 = 1B5 16 o1 1010 0101 1101 2 = 1A5D 16 42

Osmičkové na binární Převod osmičkových čísel na binární je přímou inverzí převodu binárních čísel na osmičkové. Každé osmičkové číslo tedy přímo převedeme na ekvivalentní skupinu třech binárních číslic. Například, 45 při základě 8 se rovná 100101 při základě 2. 43

Hexadecimální na binární Převod z hexadecimální soustavy do binární soustavy je přímou inverzí opačného převodu. Každá hexadecimální číslice se převede na ekvivalentní skupinu čtyř binárních číslic. Například, 45 při základu 16 se rovná 01000101 při základu 2. 44

Procvičování převodů Převeďte následující čísla na binární: o63 8 o123 16 o75 8 oa2d 16 o21 8 o3ff 16 45

Procvičování převodů Výsledky: o63 8 = 110011 2 o123 16 = 100100011 2 (odstranit vedoucí 0) o75 8 = 111101 2 oa2d 16 = 110000101101 2 o21 8 = 10001 2 o3ff 16 = 1111111111 2 46

Hexadecimální na oktalové Převod hexadecimálních čísel na oktalová je proces sestávající z dvou kroků. V prvním převedeme hexadecimální číslo na binární, poté přeskupíme binární číslice z původních skupin čtyř číslic na skupiny třech číslic. Pak výsledek převedeme na oktalové číslo. 47

Hexadecimální na oktalové Příklad: 4A3 16 = 0100 1010 0011 2 = 010 010 100 011 2 = 2243 8 48

Oktalové na hexadecimální Převod oktalového čísla na hexadecimální je analogický proces sestávající ze dvou kroků. Nejprve převedeme oktalové číslo na binární a přeuspořádáme trojice binárních číslic na čtveřice. Pak přímo vytvoříme relevantní hexadecimální číslo. 49

Oktalové na hexadecimální Například: 371 8 = 011 111 001 2 = 1111 1001 2 = F9 16 50

Procvičení převodů Převeďte následující čísla: 63 8 = 16 123 16 = 8 75 8 = 16 A2D 16 = 8 21 8 = 16 3FF 16 = 8 51

Procvičení převodů Výsledky jsou: 63 8 = 33 16 123 16 = 443 8 75 8 = 3D 16 A2D 16 = 5055 8 21 8 = 11 16 3FF 16 = 1777 8 52

Převody čísel dekadická dvojková a n.z n + a n-1.z n-1 + + a 2.z 2 + a 1.z 1 + a 0.z 0 /z a n.z n-1 + a n-1.z n-2 + + a 2.z 1 + a 1.z 0 a 0 -zbytek /z a n.z n-2 + a n-1.z n-3 + + a 2.z 0 a 1 -zbytek /z a n.z n-3 + a n-1.z n-4 +... + a 2 -zbytek /z...... a n.z 0 a n-1 zbytek /z 0 a n -zbytek --- poslední číslice Můžeme zapsat číslo : (a n a n-1.. a 2 a 1 a 0 ) Z 53

Převody čísel desítková libovolná Dělíme číslo v desítkové soustavě tak dlouho základem číselné soustavy, do které převádíme, dokud není zbytek menší než základ soustavy, do které převádíme. Př. (58) 10 = (111010) 2 58 : 2 = 29 + 0 29 : 2 = 14 + 1 14 : 2 = 7 + 0 7 : 2 = 3 + 1 3 : 2 = 1 + 1 1 : 2 = 0 + 1 54

Převody čísel - procvičení (130) 10 = (?) 2 130 : 2 = 65 : 2 = 32 : 2 = 16 : 2 = 8 : 2 = 4 : 2 = 2 : 2 = 1 0 1 0 0 0 0 0 přepíšeme odzadu (130) 10 = (10000010) 2 podíl po posledním dělení je MSB (most significant bit) kontrola převodu (10000010) 2 = 1.2 7 + 0.2 6 + 0.2 5 + 0.2 4 + 0.2 3 + 0.2 2 + 1.2 1 + 0.2 0 = 128 +0 + 0 + 0 + 0 + 0 + 2 + 0 = (130) 10 55

Převody čísel - procvičení (130) 10 = (?) 7 130 : 7 = 18 : 7 = 2 4 4 (130) 10 = (244) 7 kontrola převodu (244) 7 = 2.7 2 + 4.7 1 + 4.7 0 = 98 + 28 + 4 = (130) 10 56

Převody čísel - procvičení (130) 10 = (?) 16 130 : 16 = 8 2 (130) 10 = (82) 16 kontrola převodu (82) 16 = 8.16 1 + 2.16 0 = 128 + 2 = (130) 10 57

Operace v binární soustavě logický součet po bitech součet ve dvojkové soustavě zohledňuje přenosy 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 1 58

Převod desítkového čísla do binární podoby Používá se řada různých kódů. Kód je předpis pro přiřazení znaků (prvků) jedné množiny (množina obrazů) znakům jiné množiny (množina předmětů). Proces tohoto přiřazování se nazývá kódování. Zpětné přiřazení, tedy přiřazení předmětů obrazům, musí být jednoznačné. Prvky množiny obrazů nazýváme kódová slova. Proces zpětného přiřazování se nazývá dekódování. 59

Desetinná čísla Převod z dvojkové, šestnáctkové nebo jakékoliv jiné číselné soustavy do soustavy desítkové realizujeme tak, že číslo rozepíšeme na součet násobků mocnin základu dané soustavy, ale zápis se nám však obohatí o záporné mocniny (2-1, 2-2, 2-3,, resp. 16-1, 16-2, ). 60

Příklad Převeďte čísla 21C,8 16 a 1000011100,1 2 do desítkové soustavy. Řešení: 21C,8 16 = 2 16 2 + 1 16 1 + 12 16 0 + 8 16-1 = 512 + 16 + 12 + 0,5 =540,5 10. 1000011100,1 2 = 1 2 9 + 0 2 8 + 0 2 7 + 0 2 6 + 0 2 5 + 1 2 4 + 1 2 3 + 1 2 2 + 0 2 1 + 0 2 0 + 1 2-1 = 512 + 16 + 8 + 4 + 0,5 = 540,5 10. 61

Převod desetinného čísla z desítkové soustavy V případě převodu opačným směrem, tj. z desítkové soustavy do soustavy dvojkové, šestnáctkové nebo jiné, musíme vhodným způsobem modifikovat metodu opakovaného dělení pro převod desetinné části čísla. Celou část čísla převádíme běžným způsobem, tedy tak, že číslo postupně dělíme základem soustavy, do které jej převádíme, a zapisujeme přitom zbytky dělení. Výsledek dostaneme sepsáním těchto zbytků v opačném pořadí. Desetinnou část budeme základem výsledné soustavy pro změnu násobit. Z výsledku oddělíme jeho celou a desetinnou část, přičemž část desetinnou budeme dále násobit, zatímco celé části, sepsané tentokrát ve stejném pořadí, tvoří výsledek převodu. 62

Příklad Vyjádřete číslo 6,3 10 v binárním tvaru. Převod celé části Převod desetinné části 6:2=3, zbytek 0 0,3 2=0,6; celá část čísla: 0 3:2=1, zbytek 1 0,6 2=1,2; celá část čísla: 1 1:2=0, zbytek 1 0,2 2=0,4; celá část čísla: 0 0,4 2=0,8; celá část čísla: 0 0,8 2=1,6; celá část čísla: 1 0,6 2=1,2; celá část čísla: 1 Výsledek: Výsledek: 610 = 1102 0,310 = 0,0100112 63

Sčítání binárních čísel Binární čísla je možné sčítat stejným způsobem, jakým sčítáme čísla desítková. Příklad: Binárně Dekadicky 1 1 0 6 + 1 0 1 +5 1 0 1 1 11 64

Odčítání binárních čísel V případě rozdílu postupujeme obdobným způsobem, jako u sčítání. U příkladu uvedeného v tabulce nejprve odečteme 1 1=0 v pravém sloupci tak, jak je obvyklé, a v následujícím sloupci 1 0=1. Problémy nebude činit ani rozdíl 0 1 ve třetím sloupci zprava, kde odečítáme větší číslo od menšího. Binárně Dekadicky 1 0 1 1 11 1 0 1 5 1 1 0 6 65

Formát s pohyblivou řádovou čárkou čísla REAL 356 = 0,356. 10 3 0,0125 = 0,125. 10-1 semilogaritmický tvar čísla: X = M.10 E o M normalizovaná mantisa, např. ( 1 > M 0,1 ) obrovský rozsah číselných hodnot 66

Kódy Kód jako předpis může mít podobu slovního popisu, matematického výrazu, grafu, ale velice často bývá vyjádřen tabulkou přiřazení kódová tabulka. Kódování může být i vzájemně jednoznačné není jasné, co je obraz a co předmět, např. převod čísel mezi binární a hexadecimální soustavou. Číselné soustavy jsou také kódy, my si budeme dále všímat kódy pro kódování alfanumerických znaků vytvořených především pro reprezentaci dat při jejich přenosu, zpracování, zobrazování, či archivaci. 67

Binární kód Binární kód představuje způsob reprezentace informace a lze jej definovat jako konečný počet bitů. (Bit je základní jednotkou informace a může nabývat právě jedné ze dvou hodnot 0 nebo 1. Pomocí bitů je tak možno reprezentovat čísla vyjádřená v binární číselné soustavě.) V mnoha aplikacích, ve kterých pracujeme s číselnými hodnotami, stačí číselná data převést do binárního tvaru a v této podobě uložit nebo dále zpracovávat. Reprezentace čísel ve standardním binárním kódu však nemusí být vždy optimálním řešením. Samostatnou kapitolou je reprezentace nečíselných hodnot (např. znaků) v binárním kódu. Binárních kódů existuje velké množství. Jednotlivé kódy mají různé vlastnosti a používají se v různých situacích. Některé binární kódy jsou např. schopny detekovat nebo i opravit jednu (příp. i více) chyb. 68

Přímý kód 4 - bitové binární číslo hodnota přidání znaménkového bitu 0000 0 0 0000 +0 1 0000-0 0001 1 0 0001 +1 1 0001-1 0010 2 0 0010 +2 1 0010-2 0011 3 0 0011 +3 1 0011-3 0100 4 0 0100 +4 1 0100-4 0101 5 0 0101 +5 1 0101-5 0110 6 0 0110 1 0110-6 0111 7 0 0111 1 0111 1000 8 0 1000 1 1000 1001 9 0 1001 1 1001 1010 10 0 1010 1 1010 1011 11 0 1011 1 1011 1100 12 0 1100 1 1100 1101 13 0 1101 1 1101 1110 14 0 1110 +14 1 1110-14 1111 15 0 1111 +15 1 1111-15 69

Přímý kód a jeho vlastnosti D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 BYTE D 7 MSb Most Significant bit nejvyšší platný bit D 0 LSb Least Significant bit nejnižší platný bit znaménkový bit jednoduchý a názorný dvojí reprezentace nuly 0 10 = 0000 = +0, 8 10 = 1000 2 = -0 70

Inverzní kód pro převod do doplňkového kódu Kladná čísla stejná jako u přímého kódu U záporného čísla invertujeme všechny bity a přidáme 1 na MSb Pro 8 bitů rozsah +-128 Dvojí reprezentace nuly + 56 0011 1000-56 1100 0111 71

Záporná čísla dvojkový doplněk Dvojkový doplněk představuje způsob kódování záporných čísel v binární soustavě a usnadňuje výpočetním systémům operaci odčítání a aritmetické operace se zápornými čísly obecně. Chceme-li vypočítat rozdíl dvou čísel vyjádřených v binární číselné soustavě, můžeme jednoduše číslo, které chceme odečíst, převést na dvojkový doplněk provedením negace a následným přičtením jedničky a poté obě čísla jednoduše sečíst. Dvojkový doplněk čísla vždy závisí na počtu bitů, kterými čísla reprezentujeme, což je obvykle pomocí 8, 16, 32 nebo 64 bitů. V závislosti na reprezentaci je pak při tvorbě dvojkového doplňku nutné příslušným způsobem zarovnat počet bitů daného čísla (tj. doplnit číslo zleva nulami). 72

Dvojkový doplněk 73

Příklad Vytvořte dvojkový doplněk čísla 10110 2, pracujeme-li s osmibitovým vyjádřením čísla. Řešení: o Zarovnáme počet bitů čísla na osm: 00010110 o Provedeme negaci: 11101001 o Přičteme jedničku: 11101010 o Výsledkem je tedy číslo: 11101010 2 74

Znaménková expanze V doplňkovém kódu doplníme před číslo tolikrát znaménkový bit, až se šířky vyrovnají Používá se ke slučování slov nestejné šířky Příklad: 68 0100 0100-7 +1111 1001 61 10 0011 1101 d.k. 75

Kód BCD Kód BCD (binary-coded decimal binárně kódované dekadické číslo) je v číslicové technice jeden z často používaných binárních kódů. Používá se pro kódování desítkových číslic 0 až 9, přičemž každá z těchto číslic je kódována určitým (pevně daným) počtem bitů typicky čtyřmi (minimum, do jednoho bajtu je pak možno uložit dvě čísla v kódu BCD), příp. osmi (chceme-li pracovat s celými bajty). Hlavní výhodou kódu BCD je snadnost převodu čísla, které je vyjádřeno v kódu BCD, do formátu čitelného pro člověka 76

Kód BCD Binary Coded Decimal Přímý kód Shodný s kódem 8-4-2-1 (váhový kód) Má 4 prvky pro vyjádření jednoho řádu desítkového čísla Vhodný pro čítání a sečítání Menší efektivita při využití paměti (do jednoho bytu se dá uložit max. 100 čísel v kódu BCD). 8 4 2 1 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 77

Příklad Dekadicky: 123456 BCD: 0001 0010 0011 0100 0101 0110 Binárně: 11110001001000000 Vidíme, že převod mezi dekadickým číslem a číslem vyjádřeným v kódu BCD je triviální. Tento kód označujeme i kód BCD 8421, kde čísla 8421 vyjadřují váhy jednotlivých bitů. Platí, že dekadické číslo získáme jako N = b 3 8 + b 2 4 + b 1 2 + b 0 1 78

CCITT č.5 (MA5, ISO7), ASCII odvozen z abecedy (kódu) ASCII (= American Standard Code for Information Interchange) jeden z nejrozšířenějších kódů sedmiprvkový 26 písmen malé a velké abecedy 10 číslic 0 9 22 znamének a grafických znaků 34 řídících a služebních znaků 10 kódových značek pro národní provoz KOI 7 (Kód dlja Obměna Informacijej) 79

CCITT č.5 (MA5, ISO7), ASCII 80

UNICODE 16 bitů a více (podle verze) kapacita 65 536 značek (a více) Kompatibilní s ASCII přidáme nulový BYTE národní stránky 81

SHRNUTÍ číselné soustavy převody mezi nimi přímý, inverzní a doplňkový kód znakové sady 82