les3
TRANSCRIPT
![Page 1: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/1.jpg)
Inleiding tot ProgrammerenGetalvoorstellingen
Ruben Van den Bossche
Universiteit Antwerpen
1 / 27
![Page 2: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/2.jpg)
Outline
Positive Numbers
Negative Numbers
Floating point Numbers
Exercises
2 / 27
![Page 3: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/3.jpg)
Outline
Positive Numbers
Negative Numbers
Floating point Numbers
Exercises
3 / 27
![Page 4: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/4.jpg)
Base 10 to base 2
Example. Convert (23.375)10 to base 2.
4 / 27
![Page 5: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/5.jpg)
Base 10 to base 2 (II)
Step 1. Remainder method: convert (23)10 to base 2
Remainder23 /2 = 11 1 LSB11 /2 = 5 15 /2 = 2 12 /2 = 1 01 /2 = 0 1 MSB
(23)10 = (10111)2
5 / 27
![Page 6: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/6.jpg)
Base 10 to base 2 (III)
Step 2. Multiplication method: convert (.375)10 to base 2
.375 x 2 = 0 .75.75 x 2 = 1 .5
.5 x 2 = 1 .0
(.375)10 = (.011)2
Step 3. Total: (23.375)10 = (10111.011)2
6 / 27
![Page 7: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/7.jpg)
Base 2 to base 10
I Number in base 2: bnbn−1...b1b0.b−1b−2...b−m
I Value in base 10 =n−1∑
i=−m
bi · 2i
I Weighted position codeI Polynomial method
7 / 27
![Page 8: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/8.jpg)
Base 2 to base 10 (II)
Example. Convert (1010.01)2 to base 10.
(1010.01)2 = (1 · 23 + 0 · 22 + 1 · 21 + 0 · 20 + 0 · 2−1 + 1 · 2−2)10
= (8 + 0 + 2 + 0 + 0 + .25)10
= (10.25)10
8 / 27
![Page 9: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/9.jpg)
Extensible to other bases
Conversion between base k and base 10:
I Remainder method. Divide by k .I Multiplication method. Multiply by k .
I Polynomial method.n−1∑
i=−m
bi · ki
9 / 27
![Page 10: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/10.jpg)
Bases 2, 4, 8, 16
Example. Convert (10110110)2 to base 4, 8 and 16.
(10110110)2
= (10)2(11)2(01)2(10)2 = (2)4(3)4(1)4(2)4 = (2312)4
= (010)2(110)2(110)2 = (2)8(6)8(6)8 = (266)8
= (1011)2(0110)2 = (B)16(6)16 = (B6)16
10 / 27
![Page 11: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/11.jpg)
Outline
Positive Numbers
Negative Numbers
Floating point Numbers
Exercises
11 / 27
![Page 12: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/12.jpg)
Negative numbers
I Signed magnitudeI One’s complementI Two’s complementI Excess (biased)
12 / 27
![Page 13: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/13.jpg)
Signed magnitude
I First bit as signI Example.
I (+12)10 = (00001100)2I (−12)10 = (10001100)2
13 / 27
![Page 14: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/14.jpg)
One’s complement
I Convert all zero’s in 1’s and 1’s in zero’s.I Example.
I (+12)10 = (00001100)2I (−12)10 = (11110011)2
14 / 27
![Page 15: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/15.jpg)
Two’s complement
I Take the one’s complement, and add 1.I Only 1 representation for 0 !I Example.
I (+12)10 = (00001100)2I (−12)10 = (11110100)2
15 / 27
![Page 16: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/16.jpg)
Excess (biased)
I Add bias to every number and convert it as a positivenumber.
I Example: Excess 128 (bias = 128)I 12 + 128 = 140
(+12)10 = (10001100)2I −12 + 128 = 116
(−12)10 = (01110100)2
16 / 27
![Page 17: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/17.jpg)
Outline
Positive Numbers
Negative Numbers
Floating point Numbers
Exercises
17 / 27
![Page 18: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/18.jpg)
Floating point
I Wide range of numbers in a limited number of bits.I Example. +6.023 · 1023
18 / 27
![Page 19: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/19.jpg)
Normalization
I Different representations for the same number.I Example. +254 · 100
I 25.4 · 101
I 0.0254 · 104
I 254000 · 10−3
I Normalization: the dot is placed right of the leftmost digit.I 2.54 · 102
I Hidden bit: in base 2 the leftmost bit can be discardedI 1.1010→ 1010
19 / 27
![Page 20: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/20.jpg)
Conversion
Example. Convert (9.375 · 10−2)10 to base 2 (scientificnotation).
I Fixed point: (.09375)10
I Multiplication method: (.00011)2
I Normalize: .00011 = .00011 · 20 = 1.1 · 2−4
20 / 27
![Page 21: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/21.jpg)
IEEE-754
I Sign bitI Exponent: Excess 127 - 1023I Number representation with hidden bit
21 / 27
![Page 22: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/22.jpg)
IEEE-754 (II)
Example. Represent (−12.625)10 in IEEE-754 Single precisionformat.
Step 1. Convert to base 2: (−12.625)10 = (−1100.101)2
Step 2. Normalize: (−1100.101)2 = (−1.100101)2 · 23
Step 3. Calculate exponent in excess 127:3 + 127 = 130→ (10000010)2
1 1000 0010 100 1010 0000 0000 0000 0000
22 / 27
![Page 23: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/23.jpg)
IEEE-754 (III)
Special cases (Single precision):
I +0 :0 0000 0000 000 0000 0000 0000 0000 0000
I +∞ :0 1111 1111 000 0000 0000 0000 0000 0000
I + NaN :0 1111 1111 001 0010 0000 0100 1000 0000
I 2−128 (Denormalized) :0 0000 0000 010 0000 0000 0000 0000 0000
23 / 27
![Page 24: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/24.jpg)
Error
I Distance between 2 consecutive representable numbersI Notation:
I b = baseI s = # significante digitsI M = grootste exponentI m = kleinste exponent
24 / 27
![Page 25: Les3](https://reader034.vdocuments.net/reader034/viewer/2022042715/558538fdd8b42a4f018b459b/html5/thumbnails/25.jpg)
Error (II)
I Number of representable bits (hidden bit):2 · ((M −m) + 1) · bs + 1
I Biggest representable number:bM · (1− b−s)
I Smallest representable number:bm · b−1
I Biggest gap:bM · b−s
I Smallest gap:bm · b−s
25 / 27