🔢 Číselné soustavy a logické funkce

Počítání na vypínačích

O čem to je

Číslicový obvod zná jen dva stavy: napětí je, nebo není. Vypínač zapnuto, nebo vypnuto. Ze dvou stavů se ale dají poskládat čísla, písmena i rozhodnutí typu „spusť lis, jen když jsou zavřené dveře A ZÁROVEŇ je stisknuté tlačítko“.

Nové pojmy

BitNejmenší jednotka informace. Má hodnotu 0 nebo 1 (log. 0 = nízké napětí, log. 1 = vysoké).LED nesvítí = 0, svítí = 1.
Bajt (byte)Skupina 8 bitů. Uloží číslo 0 až 255.11111111 = 255.
Dvojková (binární) soustavaZápis čísel jen číslicemi 0 a 1. Každá pozice zprava má váhu dvakrát větší: 1, 2, 4, 8, 16, 32…1101₂ = 8 + 4 + 0 + 1 = 13.

Z dvojkové do desítkové

Napiš nad každou číslici její váhu a sečti váhy tam, kde je jednička.

váha1286432168421
číslo 4500101101
číslo 20011001000
Převeď 10110₂ do desítkové soustavy.
Váhy zprava: 1, 2, 4, 8, 16. Jedničky jsou na pozicích 16, 4 a 2. Součet 16 + 4 + 2 = 22.
Převeď 37 do dvojkové soustavy.
Opakovaně děl dvěma a piš zbytky: 37 : 2 = 18 zb. 1; 18 : 2 = 9 zb. 0; 9 : 2 = 4 zb. 1; 4 : 2 = 2 zb. 0; 2 : 2 = 1 zb. 0; 1 : 2 = 0 zb. 1. Zbytky čti odspodu: 100101₂. Kontrola: 32 + 4 + 1 = 37 ✓.

Logické funkce

Logická funkce a pravdivostní tabulkaPravidlo, které z jedné nebo více vstupních hodnot 0/1 určí výstup 0/1. Pravdivostní tabulka vypíše výstup pro všechny kombinace vstupů.Dva vstupy mají 4 kombinace: 00, 01, 10, 11.
  • AND (logický součin, A · B): výstup 1, jen když jsou oba vstupy 1. Jako dva vypínače za sebou.
  • OR (logický součet, A + B): výstup 1, když je aspoň jeden vstup 1. Jako dva vypínače vedle sebe.
  • NOT (negace, Ā): obrátí hodnotu, z 0 udělá 1 a naopak.

Doplň výsledky. Představ si vždy vypínače: za sebou (AND), vedle sebe (OR).

✗V logice platí 1 + 1 = 2.
✓V logickém součtu (OR) platí 1 + 1 = 1.

Logická funkce má jen hodnoty 0 a 1. OR říká „aspoň jeden vstup je 1“ – a to platí, i když jsou oba.

Dvojková soustava: váhy 1, 2, 4, 8, 16…; do dvojkové převádíš dělením dvěma. AND = oba, OR = aspoň jeden, NOT = obrácení.

Soustavy a algebra

O čem to je

V adresách paměti, v barvách webu (#FF8800) i v registrech mikrokontroléru se čísla píšou šestnáctkově. Řídicí logiku stroje zase popíšeš a zjednodušíš pomocí Booleovy algebry. Tady je přehled soustav a pravidel.

Nové pojmy

Poziční číselná soustavaHodnota číslice závisí na její pozici. Váhy pozic jsou mocniny základu soustavy.Desítková: 345 = 3 · 100 + 4 · 10 + 5 · 1.
Dvojková soustavaZáklad 2, číslice 0 a 1, váhy 1, 2, 4, 8, 16, 32, 64, 128…1010₂ = 10.
Šestnáctková (hexadecimální) soustavaZáklad 16, číslice 0–9 a A–F (A = 10, B = 11, C = 12, D = 13, E = 14, F = 15). Jedna šestnáctková číslice = přesně 4 bity.2F₁₆ = 2 · 16 + 15 = 47. Píše se také 0x2F.
Kód BCDBinárně kódované desítkové číslo: každá desítková číslice zvlášť ve 4 bitech.59 v BCD = 0101 1001. Používá se pro sedmisegmentové displeje.
Booleova algebraPočítání s logickými hodnotami 0 a 1 a funkcemi AND (·), OR (+), NOT (pruh nad písmenem). Slouží k zápisu a zjednodušení logických obvodů.Y = A · B + C̄.

Převody přes 4 bity

Dvojkové číslo rozděl zprava po 4 bitech (zleva doplň nuly).
Každou čtveřici převeď na jednu šestnáctkovou číslici (0000 = 0 … 1111 = F).
Opačně: každou šestnáctkovou číslici rozepiš na 4 bity.
Převeď 11010110₂ do šestnáctkové a desítkové soustavy.
Čtveřice 1101 | 0110 = D | 6 → D6₁₆. Desítkově: 13 · 16 + 6 = 208 + 6 = 214.
Převeď 0x3A do dvojkové soustavy.
3 = 0011, A = 1010 → 0011 1010₂ (= 58).

Pravidla Booleovy algebry

PravidloANDOR
s nulouA · 0 = 0A + 0 = A
s jedničkouA · 1 = AA + 1 = 1
se sebouA · A = AA + A = A
s negacíA · Ā = 0A + Ā = 1
De Morgan‾(A · B) = Ā + B̄‾(A + B) = Ā · B̄
Zjednoduš Y = A · B + A · B̄.
Vytkni A: Y = A · (B + B̄). Podle pravidla B + B̄ = 1: Y = A · 1 = A. Výstup tedy vůbec nezávisí na B.
  • 1111₂ – 15 = F₁₆
  • 0x10 – 16
  • 255 – FF₁₆ = 1111 1111₂
  • A + 1 – 1
  • A · Ā – 0

Nejdřív odpověz, pak karty otoč. Převody 15, 16 a 255 se vyplatí znát zpaměti.

✗0x10 = 10.
✓0x10 = 1 · 16 + 0 = 16.

Předpona 0x říká, že je číslo v šestnáctkové soustavě. Druhá pozice zprava má váhu 16, ne 10.

Šestnáctková číslice = 4 bity, převod po čtveřicích. BCD kóduje každou desítkovou číslici zvlášť. Booleova algebra: A + 1 = 1, A · 0 = 0, A + Ā = 1, A · Ā = 0 a De Morganovy zákony.