1 / 14

PRIPO Principy počítačů

PRIPO Principy počítačů. 20.10. – cvičení č. 5 Odčítání v binární soustavě Doplňkový kód Procvičení převodů mezi soustavami. Martin Adámek. Organizační drobnosti. docházka. Připomenutí: Sčítání ve dvojkové soustavě. Úplně stejně jako desítkové

kesler
Download Presentation

PRIPO Principy počítačů

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PRIPOPrincipy počítačů 20.10. – cvičení č. 5 Odčítání v binární soustavě Doplňkový kód Procvičení převodů mezi soustavami Martin Adámek

  2. Organizační drobnosti • docházka PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)

  3. Připomenutí: Sčítání ve dvojkové soustavě • Úplně stejně jako desítkové • při písemném sčítání pod sebou jasné&názorné • Jen máme k dispozici jen dvě číslice • jsme nuceni dříve použít vyšší řád PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)

  4. Přidán zvláštní znaménkový bit 0 ~ + 1 ~ - most-significant bit (MSB) Nula redundantně zabírá dvě číselné kombinace 8 bitů: MSB=0: 0 až 127 MSB=1: -127 až -0 celkový rozsah:-127..+127(místo 0 až 255 u přirozených čísel) (tabulka převzata z přednášky) 0 0000 +0 1 0000 -0 0 0001 +1 1 0001 -1 0 0010 +2 1 0010 -2 0 0011 +3 1 0011 -3 0 0100 +4 1 0100 -4 0 0101 +5 1 0101 -5 0 0110 1 0110 0 0111 1 0111 0 1000 1 1000 0 1001 1 1001 0 1010 1 1010 0 1011 1 1011 0 1100 1 1100 0 1101 1 1101 0 1110 +14 1 1110 -14 0 1111 +15 1 1111 -15 Záporná čísla v přímém kódu PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)

  5. Binární záporná čísla obecně • vždy musíme vědět, kolikabitový je kód • kolik řádů/bitů máme k dispozici => který bit je znaménkový (MSB) • např. v přímém kódu • 1+3 bity: 1 101(2) = -5(10) • 1+4 bity: 0 1101(2) = +13(10) • stejně (+13d) i pro 1+5, 1+6, ... bitůnebo pro 0+4 bity PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)

  6. Odčítání – přímý kód • jako v desítkové • odečte se po řádech zprava • při odečítání „0-1“ se vypůjčí „1“ zleva • odečítá se menší od většího, při záměně menšence a menšitele se změní znaménkový bit • 26-9=17 • 26(10)=16+8+0+2+0(10)=11010(2) • 9(10)=8+0+0+1(10)=1001(2) • 11010-01001=10001(2) • 1101-0101; 1011-1001; • 1001-0011; 1000-0011 • odčítání více čísel ? • postupně; nebo nejdříve všechny menšitele sečíst PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)

  7. Inverzní kód • jako přímý, jen záporná čísla jsou inverzí kladného čísla (logická negace bit po bitu) • +5(10)=0 101(2) • -5(10)=1 010(2) • rozsah jako u přímého (nula dvakrát),jen jiná záporná čísla PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)

  8. Doplňkový kód(dvojkový doplněk) • kladná čísla jsou v něm stejně jako v přímém (nebo inverzním) kódu • záporná číslo jako v inverzním,ale navíc se přičítá „1“ =>nula jen jednou => -1 + 1 = 0 => -1 + 2 = 1 • funguje matematika • jediný reálně využívaný kód pro práci se zápornými čísly • navíc se rozsah datového typu zvýší o 1 (v záporné oblasti) PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)

  9. Doplňkový kódpříklady pro 1+4bity • -3(10): • +3(10)=0 0011(2) • -3(10)=1 1100(2) + 1 • -3(10)=1 1101(2) • +15(10): • +15(10)=0 1111(2) • -16(10): • -15(10)=1 0001(2) • -16(10)=1 0000(2) • přetečení: • 15(10)+1=? • 0 1111(2)+1=1 0000(2) • 1 0000(2)=-16(10) • 15(10)+1=-16(10) => rozsah -16 až +15 • -3(10): • přímý kód: 1 0011 • inverzní kód: 1 1100 • doplňkový kód: 1 1101 PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)

  10. Přetečení (registru, paměti) • situace, kdy je snaha o přenos do neexistujícího bitu (nestačí bity/řády) • maximum+1 = minimum • platí i u datových typů pro kladná čísla: • 1111 + 1 = 10000 • ale při 4 bitech se zapíše jen 0000 PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)

  11. Doplňkový kód – rozsah • nula jen jednou => rozsah o 1 větší než u přím.a in. • +0: 0 0000 • -0: 1 1111 + 1 = 0 0000 • jazyk Pascal – některé datové typy • Shortint: -128..+127 (8b: 1MSB, zbyde 7; 27=128; -128 až -1 a 0 až 127) • 127+1 = -128 – přetečení • Byte: 0..+255 (8b) • Word: 0..65535 (16b) • Integer: -32768..+32767 (16b) • dříve se datové typy volily odpovědně, snahou byla nenáročnost programu na RAM • „640KB musí stačit každému“ – autor výroku = ? • Bill Gates o základní paměti v OS MS-DOS • pro přístup do zbytku RAM (např. 8MB, 32MB) složitější postup • dnes např. 2GB, 4GB RAM PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)

  12. „Odčítání“ s doplňkovým kódem 8-6=2 • 8-6 = 8 + (-6) • 8(10) = 0 1000(2) • 6(10) = 0 0110(2) • -6(10) = 1 1001(2) + 1 = 1 1010 (2) • 0 1000 + 1 1010 = 0 0010 (2) = 2 • počítač odčítání obejde sčítáním ! • a nejen on ! • (a nejen odčítání) PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)

  13. Procvičit si • převody mezi číselnými soustavami (cv. 4) • doplňkový kód (cv. 5) • výpočet Un a In v sérioparalelním zapojení rezistorů (cv. 2-3) PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)

  14. Příště • Procvičení probraných témat Přespříště • logické funkce • úvod do Booleovy algebry PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)

More Related