6. Kódování čísel - bit, byte
Opakování:
- zápis z předchozí hodiny - kódování dat
- způsoby sdělování ano/ne - kývání hlavou, pohyby rukama, barevné
karty, pohyb tělem (výskok, dřep), házení předmětů
- problém sdělování více odpovědí za sebou - jak
oddělit odpovědi?
- v určitém taktu (přijímač jen přijímá)
- zpětnou vazbou (přijímač odpoví vysílači, že přijal odpověď)
- Nahrazení ano/ne symboly "o" a "x"
- Excel - otevřít kódování_čísel.xlsx - vytvoření pětic "o" a "x" podle pravidel z předchozí hodiny
- Jak se řady "o" a "x" podobají číslům, které běžně používáme? V čem je to jiné?
- využití tabulky kódů z pětic 0 a 1 - namapování čísel 0-31
Zápis - rozšíření seznamů v Markdown (vnořený seznam odsadit o 2 mezery) - www, try it:
6. Kódování čísel
- **Binární** (dvojková) číselná soustava - pro vyjádření
čísel se používají dvě číslice **0** a **1**
- **bit** (binary digit - nejmenší jednotka informace) = právě jedna 0 nebo 1
- **byte** = skupina 8 bitů - čísla 00000000 až 11111111 (desítkově čísla 0-255)
- **Hexadecimální** (šestnáctková) soustava - používá znaky 0-F (F=15)
- pro zkrácení zápisu velkých čísel (des. 255 = binárně 11111111 = hexa FF)
Teorie:
- Číselné soustavy - desítková (10 číslic), hodiny
(60-ková - kopa, 12-ková - tucet) + úhly (2,75°=2°45'),
římská čísla
(Excel =ARABIC("LVII") - nepoziční soustava, =ROMAN(17) )
- Pozn. Nejjednodušší je jedničková soustava -
používá opakovaně jeden symbol - např. I=1, III=3 apod. (účtenka v
hospodě, svíčky na dortu, zářezy na pažbě) - v Excelu funkce =opakovat
Číselné soustavy v IT:
- Binární (dvojková) číselná soustava - pro vyjádření
čísel se používají dvě číslice 0 a 1
- snadná technická realizace - světlo svítí/nesvítí apod.
- bit - binary digit - dvojková číslice 0 nebo 1
- byte - skupina 8 bitů (0-255), často se
používají násobky bytů (16, 32, 64 bitů)
- Šestnáctková soustava (hexadecimální) - 0-F
- pro zkrácení zápisu velkých čísel, např. u MAC adresy
Cvičení:
- vytvořit nový list v Excelu (sešit kódování_čísel.xlsx)
- Desítková soustava - rozpis kódování dvojic podle
pravidel z minulé hodiny
- číslice 0-9, počet číslic n=10 (základ), volíme k=2 místa, počet řádků x=102
= 100
- napsat pod sebe všechny číslice 0-9, do vedlejšího sloupce
psát 10x0, pak 10x1, ..., třetí sloupec by byl 100x0 atd.
- ve skutečnosti to používáme s obráceným pořadím sloupců
- zprava jednotky, desítky, stovky, ...
- tedy vpravo je nejméně významná číslice, vlevo
nejvýznamnější (pozn. nuly zleva nejsou významné, nemusí se
psát)
- úprava pravidel pro čísla (x=nk je
počet řádků)
- do prvního sloupce pište pod sebe shora dolů
x/n-krát první číslici, pak x/n-krát druhou číslici až použijete
všechny číslice (resp. až vyplníte celkový počet x=nk řádků)
- do druhého sloupce pište pod sebe střídavě vždy
počet číslic z předchozího levého sloupce / n
- v dalším sloupci opakujte 2. až do vyplnění daného počtu k
sloupců
- Binární soustava
- v prvním listu Excelu - nahrazení symbolů "o" a "x" číslicemi 0 a 1
- změnit pořadí sloupců u pětic (dodržení významnosti) a zkopírovat do druhého listu vedle desítkových čísel
- sloupce = bity, osm bitů = osmice = byte
- všimnout si, že lichá čísla končí 1, sudá 0
- Hexadecimální soustava - doplnění do tabulky v Excelu podle pravidel
- Demo převodu do binární soustavy -
odkaz
- Programátorská kalkulačka ve Windows
- najít největší číslo na 8, 16, 32, 64 bitů (vkládat bin 11111111
apod.)
- Excel - vestavěné funkce - vložit
sloupce pro ověření
- vytvořte v sešitu kódování_čísel.xlsx nový list "BinHex" s řadou čísel 0-255 ve sloupci A
- do sloupce B vložte vzorec pro přepočet do dvojkové soustavy =DEC2BIN(A2;8)
- do sloupce C do šestnáctkové =DEC2HEX(A2;2)
- přidejte řádek s desítkovým číslem 256, doplňte vzorce a analyzujte chybu
- přidejte sloupec D pro římská čísla pomocí funkce =ROMAN(A2)
- a sloupec E pro jedničkovou soustavu pomocí funkce =OPAKOVAT("I";A2)
- Proměnné v programovacích jazycích
- boolean - true/false
- byte - celé číslo na 1 byte
- integer - více bytů
- pořadí bytů - left/right endian -
wiki
- short (word) 2 byty = 0-65535, resp. −32768 až 32767
- long (longint) 4-8 bytů
- double, float, real - reálná (necelá) čísla (plovoucí čárka)
- problém přetečení (overflow) při špatně zvoleném typu proměnné
(255+1)
-
počítadlo - co se stane po nastavení max. čísla a spuštění?
- příklad - mechanický tachometr (přetáčení vrtačkou), vodoměr, plynoměr,
elektroměr
- kolik bitů budete potřebovat / jaký typ proměnné zvolíte pro den
v týdnu, den v měsíci, týden v roce, měsíc v roce, rok (problém Y2K,
rok 9999?) ...
Zajímavosti
- binární počítání pomocí prstů na ruce - 5 prsty lze vyjádřit 0-31 (25),
na 10 prstech 0-1023 (210)
- cvičení - jaké max. číslo lze ukázat na 1 ruce, 2 rukách
- cvičení - každý ukáže určené číslo na ruce
- zlepšovák pro počet svíček v binární soustavě na narozeninovém dortu
pro ajťáky:
- pro svíčky na narozeninovém dortu se používá jedničková soustava
(3=3 svíčky)
- pro starší lidi je problém s místem na dortu (hrozí nebezpečí
požáru) - řešení - použít binární soustavu (např. pro věk 18=10010 -
je potřeba 5 svíček, 2 z nich svítí)
- kolik svíček stačí pro binární vyjádření věku (0-127) = 7
Doplněk - vlastní funkce v Excelu pro převod úhlů - viz www