Číselné kódy

BI-SPOL.21-30
  • Čísla se znaménkem
    • aritmetické operace
    • obvody pro posuvy, paralelní sčítání, MUX, dekodér
  • Reprezentace Floatů

Záznam čísel

  • převod 10 -> 2 dělíme 2, výsledek od nejnižšího bitu po nejvyšší
    • za des čárkou násobím 2 a jedničku/nulu vysouvám do výsledku od nejnižšího bitu
  • převod 2 -> podle pozice násobím a přičítám mocniny 2^ pozici.
  • Čísla se ukládají v binárním kódu, je několik způsobů jak celá čísla interpretovat
  • Čísla v počítači mají omezený rozsah, omezuje ho délka slova, bajt má 256 hodnot, 4 bity 16 hodnot...
  • Čísla bez znaménka
    • Celý rozsah je využit pro čísla <0,15>
    • Nemá záporné čísla, špatně se počítá
    • Při sčítání Carry out z nejvyššího řádu znamená, že výsledek není platný (moc velký)
  • Přímý kód
    • nejvyšší bit je využit pro znaménko, ostatní bity jsou absolutní hodnota rozsah <-7,7>
    • Má dvě nuly
    • ../../Attachments/Pasted image 20260601185815.png
  • Doplňkový kód
    • Řeší problém dvou nul, vrchní bit je znaménko, ale i součást čísla
    • záporné číslo se dělá negací kladné verze a přičtením 1 (horká jednička)
    • rozsah <-8,7>
    • Detekce přetečení (Carry in XOR Carry Out) v nejvyšším řádu
  • Aditivní kód
    • Celý rozsah čísel je posunutý o konstantu
    • rozsah je 2^n-1

Aritmetické operace

Sčítání

  • Sčítání a odčítání se realizuje pomocí půl sčítaček
  • Odčítání se dělá pomocí negace a horké jedničky jako sčítání (pro doplňkový kód)
    • lze pomocí realizovat XOR a CIN = 1 (pozor inverze overflow detekce)
    • Půl sčítačka má dva vstupy a dva výstupy
      • Cout = A AND B
      • S(součet) = A XOR B
    • Dvě půlsčítačky sečtou A, B Cin a výsledek je S, Cout
    • Detekce overflow je pomocí XOR
  • ../../Attachments/Pasted image 20260601185934.png

Násobení a dělení

  • realizuje se pomocí sekvenčního obvodu, který používá posuv podle čísla kterým se násobí

Floating point čísla

  • Omezený rozsah přesnosti (nereprezentuje spojitou množinu)
  • Zachovává relativní přesnost
  • Nelze porovnávat přesně (kvůli odchylkám v reprezentaci)

IEEE 754

  • Definuje zápis FP čísla, rozděluje ho na tři části:
    • Znaménko
    • Exponent v aditivním kódu
    • Mantisa v přímém kódu
  • Definuje kolik bitů pro jaký datový typ patří které skupině
  • ../../Attachments/Pasted image 20260530175416.png
  • Proces normalizace
    • Pro výpočty s různými exponenty je nutné floaty normalizovat
      • Posunout mantisu co nejvíc vlevo, upraví exponent
    • Nutné provádět po každé operaci
  • Princip skryté jedničky v mantise (je na nejvyšším bitu, ale nezapisuje se)

Sčítání a odčítání FLOAT

  • Je nutný převod na stejný exponent
    • Může způsobit ztrátu přesnosti
  • Stačí sečíst/násobit mantisy
  • Normalizovat výsledek

Násobení FLOAT

  • XOR znamének
  • Sečtení exponentů - Konstanta aditivního kódu
  • Vynásobení mantisy i se skrytou jedničkou (případné nutné posunutí exponentu 1X,XXXX)
    • Je nutné zaokrouhlení

Dělení FLOAT

  • XOR znamének
  • Exponenty se odečtou + Aditivní konstant
  • Mantisy vydělí

Pevná řádová čárka

  • Jasně daný počet des. míst
  • Dobré pro přesnost
  • Problém velké rozpětí hodnot

Využívané kombinační obvody

Paralelní Sčítačka/odčítačka

Aritmetické posuvy

  • Jedná se o posuv čísel, podle konkrétního kódu se liší způsob, jakým k posuvu dochází.
  • Na rozdíl od logického posuvu respektují pravidla kódu.
  • Čísla bez znaménka je to stejné jako logický posuv
    • Z jedné strany Carry in z druhé Carry out
      • Carry Out signalizuje ztrátu přesnosti

Přímý kód

  • Posouvá se pouze absolutní hodnota čísla
  • nejvyšší bit reprezentující znaménko zůstává na své pozici

Doplňkový kód

  • Při posuvu vpravo se nejvyšší bit kopíruje do nejvyššího a druhého nejvyššího řádu
  • Zachová znaménko
    • Odpovídá násobení mocninami 2
  • ../../Attachments/Pasted image 20260601123809.png
  • Při posuvu vlevo je overflow xor dvou nejvyšších bitů původní hodnoty
    • Odpovídá dělení mocnimami 2

Majorita

  • Lichý počet vstupů
  • Jeden výstup
  • 1 když je nadpoloviční většina vstupů 1

XOR

  • Exlusive OR
  • Nejde minimalizovat
  • Dvouvstupový jsou 4 NAND hradla, lze pomocí tranzistorů na 6

Dekodér

  • Převádí mezi různými číselnými soustavami

Multiplexor

  • Přepíná Různé signály
  • Podle řídících signálů nastavuje datovou cestu
  • Z n vstupů vybírá jeden na výstup
  • Demultiplexor dělá opak
    • jeden vstup na jeden z n výstupů

Registr

  • Jedná se o sestavu paměťových buněk (D-Flip-Flop)
  • Ukládají více bitové slovo
  • Lze nastavit, resetovat
  • Mohou obsahovat další logiku pro posuvy

Čítač

  • Speciální případ registru, který inkrementuje svou hodnotu s CLK vstupem
  • Může počítat v různých kódech
    • Binární
    • Grayův
    • 1 z N
  • Realizace pomocí stavového automatu (počet stavů do kolika počítám)

Vytvořeno: 2. 6. 2026, 11:21
Poslední aktualizace: 9. 6. 2026, 12:19