1 / 53

Hoofdstuk 6

Hoofdstuk 6. Gegevensvoorstelling en berekeningen. Inhoud. Talstelsels Getallen in een Computer Natuurlijke getallen Gehele getallen Gebroken getallen Vaste komma getallen Bewegende komma getallen Andere gegevens (letters, …). r -tallig talstelsel. r = grondtal (= vast)

brand
Download Presentation

Hoofdstuk 6

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. Hoofdstuk 6 Gegevensvoorstellingen berekeningen

  2. Inhoud • Talstelsels • Getallen in een Computer • Natuurlijke getallen • Gehele getallen • Gebroken getallen • Vaste komma getallen • Bewegende komma getallen • Andere gegevens (letters, …)

  3. r-tallig talstelsel • r = grondtal (= vast) • Elk cijfer: gewicht in functie van de positie • Zij ci { 0, 1, …, r-1 } Voorstelling = cn-1cn-2 … c1c0 gewicht cn-1rn-1+cn-2rn-2+ … +c1r1+c0r0

  4. Voorbeelden • Decimaal r = 10, c {0, 1, …, 9} 1235 • Binair r = 2, c {0, 1} 10011010011 • Octaal r = 8, c  {0, 1, …, 7} 2323 • Hexadecimaal r = 16, c {0, ..., 9, A, …, F} 4D3 MO:  voorstellingen, zelfde getal!

  5. Getallen in een Computer • Eindigaantal cijfers: • Ligt vast • Soms # verschillende formaten (bijv. 16-bit en 32-bit getallen) • Gevolgen: • Niet alle getallen kunnen voorgesteld worden • Eigenschappen uit getallenleer gelden soms niet • Gesloten t.o.v. +, -, × • Associativiteit, distributiviteit gelden soms niet

  6. Getallen in de Computer • Bijv. stel 3 decimale cijfers (alleen pos.) • Alleen getallen uit {0, 1, …, 999 } • Niet gesloten t.o.v. som / vermenigvuldiging590 + 5301120 (= 4 cijfers! OVERLOOP) • Associativiteit?400 + (800 - 300)(400 + 800) - 300 • Distributiviteit? 005 × (300 - 200)(005 × 300) - (005 × 200)

  7. Natuurlijke getallen

  8. Natuurlijke getallen • Omzetting Binair  Decimaal • Omzetting Binair  Octaal/Hexadecimaal • BCD voorstelling • Binairrekenen • optelling • aftrekking (zie ook gehele getallen) • vermenigvuldiging • deling

  9. Omzetting Decimaal  Binair 746 0 373 1 186 0 93 1 46 0 23 1 11 1 5 1 2 0 1 1 1 0 1 1 1 0 1 0 1 0

  10. × 2 × 2 × 2 × 2 × 2 × 2 × 2 × 2 × 2 Omzetting Binair  Decimaal 1 0 1 1 1 0 1 0 1 0 2 4 10 22 46 92 186 372 746 1 2 5 11 23 46 93 186 373 746 + + + + + + + + +

  11. Omzetting van/naar Octaal/Hexadecimaal 1 0 1 1 1 0 1 0 1 0 1 3 5 2 (oct.) 1 0 1 1 1 0 1 0 1 0 2 E A (hex.)

  12. Binary Coded Decimal (BCD) • = decimale voorstelling, cijfers binair • 4 bits per cijfer • vb. 1586 0001010110000110 • Complexe rekenregels ...

  13. Aantal Cijfers • n decimale cijfers • b bits 10n-1 x < 10n en 2b-1 x < 2b dus 10n 2b bijgevolg b  log2 10n = n log2 10 = 3,3 n • n dec. cijfers  3,3 n bits  1,11 n oct.  0,83 n hex. • bijv. 300 dec. cijfers  1000 bits

  14. OPT HOPT Optellen van binaire getallen 0 1 1 1 0 1 1 1 0 1 0 0 1 1 0 1 0 1 1 + 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1

  15. HOPT OPT OPT OPT OPT Optelschakeling (parallel) Xn -1 Xn -2 X2 X1 X0 Yn -1 Yn -2 Y2 Y1 Y0 Overloop! Sn-1 Sn -2 S2 S1 S0

  16. HAFT AFT AFT AFT AFT Verschilschakeling (parallel) Xn -1 Xn -2 X2 X1 X0 Yn -1 Yn -2 Y2 Y1 Y0 Fout! Vn-1 Vn -2 V2 V1 V0

  17. X of 0! Vermenigvuldigen 0 × 0 = 0 0 × 1 = 0 1 × 0 = 0 1 × 1 = 1 . 11011 (X) 27 × 01101 (Y) 13 11011 81 00000 27 11011 351 11011 00000 101011111 (XY)

  18. An-1 Qn-1 Xn-1 ... ... ... A0 Q0 X0 Algoritme X  Y Q0 = 1 N bit opteller T T  0, A  00…0, Q  YN keer: (a) Q0 = 1: (T,A)  A + X (b) verschuif T, A, Q = verschuif naar rechts

  19. Gehele Getallen

  20. Gehele Binaire Getallen • n bit-getallen • 0000…000 t.e.m. 1111…111 n bits n bits • Natuurlijke getallen: [0, 2n- 1] • Gehele getallen: • ½ stellen positieve getallen voor • ½ stellen negatieve getallen voor

  21. Gehele Binaire Getallen • Verschillende wijzen van opdelen: • Voorteken • 1-complement • 2-complement • Plus 2n-1 notatie (verhoogde notatie)

  22. Voorteken • Bijv. n = 8 00001101 (= +13) 10001101 (= -13) 01111111 (= +127) 11111111 (= -127) 00000000 (= +0) 10000000 (= -0)

  23. Voorteken • Getallenbereik: [-(2n-1-1) ... -1, -0, +0, +1, … +(2n-1-1)] • Symmetrisch bereik • -0 =?= +0 • Rekenregels Complex (+, -) X = Xn-1Xn-2 … X1 X met Xn-1 = tekenbit Gevraagd: Z := X + Y

  24. Voorteken: Optelling { Z = X + Y } if ( Xn-1== Yn-1 ) /* Xn-1, Yn-1= tekenbit */ { Zn-1= Xn-1; Zn-2..0 = Xn-2..0 + Yn-2..0 } else { if (Xn-2..0> Yn-2..0 ) { Zn-1=Xn-1; Zn-2..0 = Xn-2..0 - Yn-2..0 } else { Zn-1=Yn-1; Zn-2..0 = Yn-2..0 - Xn-2..0 } }

  25. 2-Complement • Positief: 1e bit = 0, overige zie natuurlijke getallen • Negatief: 2n- | X | -1  2n- 1 = 111…111 -2  2n- 2 = 111…110 -2n-1 2n-2n-1 = 2n-1 = 100…000

  26. Bijv. n = 8 00000000 (= +0) 00000001 (= +1)… 00001101 (= +13) … 01111111 (= +127) 10000000 (= -128) 10000001 (= -127)… 10001101 (= -115) … 11111111 (= -1) 2-Complement

  27. 2-Complement • Getallenbereik [-2n-1, -(2n-1-1) ... -1, +0, +1, … +(2n-1-1)] • Asymmetrisch bereik! • 0 heeft slechts 1 voorstelling • Rekenregels eenvoudig! • Omrekenformule:X = Xn-1(-2n-1) + Xn-22n-2 + … + X0

  28. Bewerkingen met 2-complement • Inverteren • Som • Verschil X - Y = X + (-Y) • Product • Aanpassing van woordlengte

  29. EOF HOPT OPT OPT OPT OPT Optelling Xn Xn -1 X2 X1 X0 Yn Yn -1 Y2 Y1 Y0 Sn Sn -1 S2 S1 S0 Overloop (indien 1)

  30. 1-Complement • Positief: 1e bit = 0, overige zie natuurlijke getallen • Negatief: 2n- 1 - | X| • Getallenbereik [-(2n-1-1) ... -1, -0, +0, +1, … +(2n-1-1)] • Verouderd (niet meer gebruikt)

  31. 000…000 000…001 000…010 000…011 … 011…110 011…111 100…000 100…001 100…010 100…011 … 111…110 111…111 Plus 2n-1 Notatie  - 2n-1 - 2n-1 + 1 - 2n-1 + 2 - 2n-1 + 3 - 2 - 1  0 1 2 3 2n-1 - 2 2n-1 - 1

  32. Plus 2n-1 • Getallenbereik [-2n-1, -(2n-1-1) ... -1, +0, +1, … +(2n-1-1)] • Asymmetrisch bereik! • 0 heeft slechts 1 voorstelling • = 2-complement met omgekeerde tekenbit • Voordeel: positief getal > negatief getal

  33. Gebroken Getallen

  34. Gebroken getallen • Gewichten met negatieve exponent Voorstelling =ck … c1c0 .c-1 c-2 … c-m ck rk+ … +c1r1+c0r0+ c-1 r-1+ c-2 r-2+ … +c-mr-m

  35. Gebroken Getallen • Omzetting Decimaal  Binair • Omzetting Binair  Decimaal • Gebroken getallen in de computer • Vaste Komma Voorstelling • Bewegende Komma Voorstelling

  36. Vaste komma voorstelling • Komma op vaste plaats “verondersteld” • Bijvoorbeeld : 01101110 “.” na 5de bit 01101.110(13.75) “.” na 3de bit 011.01110(3.4375)

  37. ... ... ... ... ... ... Vaste komma voorstelling • n-bit voorstelling: 2n mogelijke getallen • per bit extra na “.”: • bereik gehalveerd • nauwkeurigheid verdubbeld bereik 0

  38. Vaste komma voorstelling • Bewerkingen • Som/Verschil  “.” aligneren • Product/Quotiënt

  39. Vaste komma voorstelling • Alleen als bereik van getallen gekend • Anders, snel overloop! • Vandaar: bewegende komma voorstelling

  40. Bewegende komma voorstelling

  41. Bewegende komma voorstelling • Het Principe • Bewegende komma voorstelling • Bewerkingen • Optelling • Vermenigvuldiging

  42. Bewegende komma voorstelling • Zeer kleine getallen  zeer grote getallen • Gebaseerd op “wetenschappelijke” notatie • X = ± m × 10e m = mantisse (fractie) e = exponent • Voorbeelden: 3.14 = 3.14 × 100 = 0.314 × 101 0.00001 = 1.0 × 10-5 = 0.1 × 10-4 1999 = 1.999 × 103 = 0.1999 × 104

  43. Voorstelbare getallen Voorstelbare getallen Negatieveoverloop Positieveoverloop Onderloop  0 -10100 -10-100 0 +10-100 +10100 Reële getallen • Grote negatieve getallen < -0.999 × 1099 • Negatieve getallen tussen -0.999 × 1099 en -0.100 × 10-99 • Kleine negatieve getallen tussen -0.100 × 10-99 en 0 • Nul (0) • Kleine positieve getallen tussen 0 en +0.100 × 10-99 • Positieve getallen tussen +0.100 × 10-99 en +0.999 × 1099 • Grote positieve getallen > +0.999 × 1099

  44. Voorstelbare getallen Voorstelbare getallen Negatieveoverloop Positieveoverloop Onderloop  0 -10100 -10-100 0 +10-100 +10100 Niet alle getallen! ... ... 0.001 × 10-99 0.001 × 1099 Reële getallen Relatieve afstand  constant

  45. Bewegende komma voorstelling • Algemeen X = ± mbe ±m = mantisse b = basis (= vast) = 2 (2, 4, 8, 16, …) e = exponent • Bewegende komma voorstelling: (±, m, e)

  46. IEEE Voorstel • Enkelvoudige nauwkeurigheid • Dubbele nauwkeurigheid t exp (8 bits) mantisse (23 bits) Basis = 2, + 127 notatie t exp (11 bits) mantisse (52 bits) Basis = 2, + 1023 notatie

  47. Bewerkingen met BKV • Niet rechtstreeks met voorstelling rekenen • Vooraf opsplitsen, na bewerking: samenvoegen • Bewerkingen: • in SW • door Processor of Co-Processor • Voorbeelden in decimaal talstelsel (DRAMA) • Som • Product • Verschil • Quotiënt

  48. Alfanumerieke Informatie

  49. Alfanumerieke Informatie • Symbolen (letters, tekens, …) • Voorstellen d.m.v. een code • n bit code  max. 2n symbolen • Gestandardiseerde codes: • ASCII • EBCDIC • UNICODE

  50. ASCII • American Standard Code forInformation Interchange • 7-bit code • Speciale tekens, hoofdletters, kleine letters, leestekens, enkele wiskundige tekens Hex Teken Hex Teken Hex Teken 30 0 40 @ 60 .31 1 41 A 61 a32 2 42 B 62 b...

More Related