Download de presentatie
GepubliceerdAdam Vedder Laatst gewijzigd meer dan 10 jaar geleden
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 (XY) 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
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.