De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Gegevensvoorstelling en berekeningen

Verwante presentaties


Presentatie over: "Gegevensvoorstelling en berekeningen"— Transcript van de presentatie:

1 Gegevensvoorstelling en berekeningen
Hoofdstuk 6 Gegevensvoorstelling en berekeningen

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

3 cn-1 rn-1 + cn-2 rn-2 + … + c1 r1 + c0 r0
r-tallig talstelsel r = grondtal (= vast) Elk cijfer: gewicht in functie van de positie Zij ci  { 0, 1, …, r-1 } Voorstelling = cn-1 cn-2 … c1 c0 gewicht cn-1 rn-1 + cn-2 rn-2 + … + c1 r1 + c0 r0

4 Voorbeelden Decimaal r = 10, c {0, 1, …, 9} Binair r = 2, c {0, 1}
1235 Binair r = 2, c {0, 1} 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
Eindig aantal 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 / vermenigvuldiging  (= 4 cijfers! OVERLOOP) Associativiteit? ( )  ( ) - 300 Distributiviteit? 005 × ( )  (005 × 300) - (005 × 200)

7 Natuurlijke getallen

8 Natuurlijke getallen Omzetting Binair  Decimaal
Omzetting Binair  Octaal/Hexadecimaal BCD voorstelling Binair rekenen 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

10 Omzetting Binair  Decimaal
+ + + + + + + + + × 2 × 2 × 2 × 2 × 2 × 2 × 2 × 2 × 2

11 Omzetting van/naar Octaal/Hexadecimaal
(oct.) E A (hex.)

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

13 Aantal Cijfers n decimale cijfers b bits
10n-1  x < 10n en 2b-1  x < 2b dus n  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 dec. cijfers  1000 bits

14 Optellen van binaire getallen
OPT HOPT

15 Optelschakeling (parallel)
Xn Xn X X X0 OPT OPT OPT OPT HOPT Yn Yn Y Y Y0 Overloop! Sn Sn S S S0

16 Verschilschakeling (parallel)
Xn Xn X X X0 AFT AFT AFT AFT HAFT Yn Yn Y Y Y0 Fout! Vn Vn V V V0

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

18 Algoritme X  Y Xn-1 X0 ... N bit opteller T An-1 A0 ... Qn-1 Q0 ...
T  0, A  00…0, Q  Y N 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… t.e.m …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 00001101 (= +13) 10001101 (= -13) 01111111 (= +127)
Bijv. n = 8 (= +13) (= -13) (= +127) (= -127) (= +0) (= -0)

23 Voorteken X = Xn-1 Xn-2 … X1 X met Xn-1 = tekenbit Getallenbereik:
[-(2n-1-1) , -0, +0, +1, … +(2n-1-1)] Symmetrisch bereik -0 =?= +0 Rekenregels Complex (+, -) X = Xn-1 Xn-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 Yn } else { if (Xn > Yn-2..0 ) { Zn-1 = Xn-1; Zn-2..0 = Xn Yn-2..0 } else { Zn-1 = Yn-1; Zn-2..0 = Yn Xn } }

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

26 2-Complement 10000000 (= -128) Bijv. n = 8 00000000 (= +0)
(= +0) (= +1) … (= +13) (= +127) (= -128) (= -127) … (= -115) (= -1)

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

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

29 Optelling Overloop (indien 1) Xn Xn -1 X2 X1 X0 Yn Yn -1 Y2 Y1 Y0
HOPT Yn Yn Y Y Y0 EOF Sn Sn S S S0 Overloop (indien 1)

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

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

32 Plus 2n-1 Getallenbereik
[-2n-1, -(2n-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 ck rk + … + c1 r1 + c0 r0 +
Gewichten met negatieve exponent Voorstelling = ck … c1 c0 . c-1 c-2 … c-m ck rk + … + c1 r1 + c0 r0 + c-1 r-1 + c-2 r-2 + … +c-m r-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 : “.” na 5de bit  (13.75) “.” na 3de bit  (3.4375)

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

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 × = × 101 = 1.0 × = 0.1 × 10-4 = × 103 = × 104

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

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

45 Bewegende komma voorstelling
Algemeen X = ± m be ±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, notatie t exp (11 bits) mantisse (52 bits) Basis = 2, 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 for Information Interchange 7-bit code
Speciale tekens, hoofdletters, kleine letters, leestekens, enkele wiskundige tekens Hex Teken Hex Teken Hex Teken @ A a B b ...

51 EBCDIC Extended Binary Coded Decimal Interchange Code
Op IBM-mainframes 8-bit code (veel lege plaatsen) Hoofdletters, kleine letters, leestekens, enkele wiskundige tekens Hex Teken Hex Teken Hex Teken F C F a C1 A F b C2 B ...

52 UNICODE ASCII: ok voor Engels
Latin-1: 8-bit uitbreiding voor vreemde letters (á, à, ä, é, …) IS 8859-x (code page: 256 letters voor taal) UNICODE (16 bit code) consortium van computer firma’s ondersteund door Java, Windows NT, ... max symbolen, ± helft reeds toegekend

53 EINDE


Download ppt "Gegevensvoorstelling en berekeningen"

Verwante presentaties


Ads door Google