Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

2. Reprezentace čísel v počítači a operace s nimi

Osnova cvičení

  1. reprezentace celých čísel, operace sčítání, odčítání, násobení a dělení
  2. reprezentace reálných čísel (IEEE 754)
  3. zadání 1. domácího úkolu (na stránce https://dcenet.felk.cvut.cz/apo/)

Co bych si měl na cvičení zopakovat/připravit

  1. logické operace s binárními čísly (and, or, rotace, …)
  2. doplňkový kód a IEEE 754
  3. rozumět demonstračnímu programu z předchozího cvičení

Náplň cvičení

Cílem je procvičit binární reprezentace celých a reálných čísel v počítači a procvičit aritmetické operace s nimi.

Úkoly

  1. Sčítání a odčítání celých čísel v doplňkovém kódu
    • demonstrujte výpočet např. 7+6, 7-6
    • procvičte výpočet na dalších číslech a pomocí programu z předchozího cvičení výsledky ověřte
    • Kdy může dojít k přetečení a jak poznáte, že k němu došlo?
  2. Násobení celých čísel
    • demonstrujte výpočet např. 7*6
    • jak se výpočet změní v případě záporných čísel? např. -7*6, -7*(-6), 7*(-6)
    • rychlá verze hw násobičky (jak zrychlit opakované sčítání na jedné sčítačce použitím většího množství sčítaček?)
  3. Dělení celých čísel
    • demonstrujte výpočet např. 42/7, 43/7
    • jak se výpočet změní v případě záporných čísel?
  4. Reprezentace reálných čísel (IEEE 754)
    • binární reprezetnace reálných čísel (float - 32bit, double - 64bit)
    • převeďte na binární reprezentaci číslo -0.75, ověřte správnost pomocí programu z minulého cvičení
    • převeďte float z binární reprezentace 0xC0A00000 na reálné číslo v desitkové soustavě
    • demonstrujte výpočet (v desítkové soustavě) 9.999*10^1 + 1.1610*10^(-1), předpokládejte, že je možné uložit pouze 4 cifry čísla a 2 cifry exponentu.
      • Návod: 1) zarovnání čísel, 2) součet, 3) normalizace, 4) zaokrouhlení
    • v binární reprezentaci sečtěte čísla 0.5 a -0.4375
    • demonstrujte výpočet (v desítkové soustavě) 1.110*10^10 * 9.200*10^(-5)
    • v binární reprezentaci vynásobte čísla 0.5 a -0.4375

Odkazy

* gcc/config/fp-bit.c - implementace operací v plovoucí řádové čárce s využitím operací v pevné řádové čárce tak v knihovně kompilátoru GCC pro procesory, které hardwarovou implementací operací nedisponují.

* Materiál k IEEE 754: apo2.pdf

courses/b35apo/tutorials/02/start.txt · Last modified: 2018/02/11 17:30 (external edit)