Title: ca2-1
1Les 2 Gegevensvoorstelling
There are only 10 different kinds of people in
the world those who know binary and those who
don't. - Anoniem
2Overzicht
- Logische operaties op bits en bitstrings
- Hexadecimale representatie
- Voorstelling van natuurlijke getallen
- Voorstelling van gehele getallen
- Voorstelling van reële getallen
- Voorstelling van lettertekens
- Voorbeelden
3Eenheid van informatie
- binary digit of bit
- 0 of 1
- vals of waar
- false of true
4Logische operaties
monadische operatie
dyadische operaties
5Bitsgewijze logische operaties en
0100 0101
masker
0000 1110
6Bitsgewijze logische operaties of
0100 0101
masker
0000 1110
7Bitsgewijze logische operaties exclusieve of
(eof)
0100 0101
masker
0000 1110
eof modulo-2 optelling eof oneven aantal
1-bits
8Voorbeelden
?
9Alle boolese functies van 2 veranderlijken
O1 O2
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0
1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0
1 1 0 0 1 1 1 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1
10Overzicht
- Logische operaties op bits en bitstrings
- Hexadecimale representatie
- Voorstelling van natuurlijke getallen
- Voorstelling van gehele getallen
- Voorstelling van reële getallen
- Voorstelling van lettertekens
- Voorbeelden
11Hexadecimale notatie
4 bits 1 nibble
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 2 3 4 5 6 7 8 9 A B C D E F
in C z 0x15
12Octale Notatie
000 001 010 011 100 101 110 111
0 1 2 3 4 5 6 7
in C z 015
13Byte
- 2 nibbles 1 byte
- Voorbeeld van een byte 0101 1101
Hexadecimaal 5 D
1 kibibyte (KiB) 210 1024 bytes
1 mebibyte (MiB) 220 1 048 576 bytes
1 gibibyte (GiB) 230 1 073 741 824 bytes
1 tebibyte (TiB) 240 1 biljoen bytes
1 Kibibit (Kib) 210 bit 1024 bit
14Grootte-orden
- yocto (y) 10-24
- zepto (z) 10-21
- atto (a) 10-18
- femto (f) 10-15
- piko (p) 10-12
- nano (n) 10-9
- micro (?,u) 10-6
- milli (m) 10-3
- Yotta (Y) 1024
- Zetta (Z) 1021
- Exa (E) 1018
- Peta (P) 1015
- Tera (T) 1012
- Giga (G) 109
- Mega (M) 106
- kilo (k) 103
15En verder, voor de nerds
1021 zetta Z 10-21 zepto z
1024 yotta Y 10-24 yocto y
1027 xona X 10-27 xonto x
1030 weka W 10-30 wekto w
1033 vunda V 10-33 vunkto v
1036 uda U 10-36 unto u
1039 treda TD 10-39 trekto td
1042 sorta S 10-42 sotro s
1045 rinta R 10-45 rimto r
1048 quexa Q 10-48 quekto q
1051 pepta PP 10-51 pekro pk
1054 ocha O 10-54 otro o
1057 nena N 10-57 nekto nk
1060 minga MI 10-60 mikto mi
1063 luma L 10-63 lunto l
16Een woord
- Woord aantal bytes (2,4,8)
- (architectuur-afhankelijk
) - Dubbelwoord 2 woorden
- Quadwoord 4 woorden
17Voorbeeld
01010101010100001110101010110111 ...
0101 0101 0101 0000 1110 1010 1011 0111 ...
5 5 5 0 E A
B 7 ...
55 50 EA
B7 ...
5550 EAB7
...
5550EAB7 ...
18Overzicht
- Logische operaties op bits en bitstrings
- Hexadecimale representatie
- Voorstelling van natuurlijke getallen
- Binair
- Gray code
- UPC code
- QR-code
- Binair gecodeerde decimalen (BCD)
- Excess-3 code
- Voorstelling van gehele getallen
- Voorstelling van reële getallen
- Voorstelling van lettertekens
- Voorbeelden
19Natuurlijke getallen binair
0 1 2 3 4 5 6
0 1 10 11 100 101 110
0000 0001 0010 0011 0100 0101 0110 4 bit
00000000 00000001 00000010 00000011 00000100 00000
101 00000110 8 bit
20Waarde van binaire voorstelling
Bereik 0 2n-1 Aantal verschillende waarden
2n
21Waarde van binair getal
15610 100111002
22
23
24
27
15610 1x27 1x24 1x23 1x22 128 16
8 4 156
22Decimaal ? binair
10011100
156/2 78 rest 0 78/2 39 rest 0 39/2
19 rest 1 19/2 9 rest 1 9/2 4
rest 1 4/2 2 rest 0 2/2 1
rest 0 1/2 0 rest 1
23Binair ? decimaal
10011100
0 x 2 1 1 1 x 2 0 2 2 x
2 0 4 4 x 2 1 9 9 x 2
1 19 19 x 2 1 39 39 x 2 0
78 78 x 2 0 156
24Oefening
3510
?
1000112
25De binaire representatie is niet de enig
mogelijke afbeelding
11
3
10
2
00
1
0
01
26Gray code
0 1 2 3 4 5 6 7
0 1 2 3
0 1
G1
Reflectieve Gray code
27UPC-code
- cijfer linkercode rechtercode
- 0 0001101 1110010
- 1 0011001 1100110
- 2 0010011 1101100
- 3 0111101 1000010
- 4 0100011 1011100
- 5 0110001 1001110
- 6 0101111 1010000
- 7 0111011 1000100
- 8 0110111 1001000
- 9 0001011 1110100
http//www.youtube.com/watch?ve6aR1k-ympo
28QR-code
Versie 1 (21x21) (Max capaciteit 17 B)
4 niveaus van foutcorrectie
Versie 40 (177x177) (Max capaciteit 2953 B)
29Natuurlijke getallen BCDBinary Coded Decimal
156
1 5 6
30Packed vs. unpacked
156
1 5 6
0 1 0 5 0 6
01 56
01 05 06
packed BCD
unpacked BCD
31Excess-3 code
BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1
001
E3 0011 0100 0101 0110 0111 1000 1001 1010 1011
1100
0 1 2 3 4 5 6 7 8 9
32Overzicht
- Logische operaties op bits en bitstrings
- Hexadecimale representatie
- Voorstelling van natuurlijke getallen
- Voorstelling van gehele getallen
- Teken grootte
- 1-complement
- 2-complement
- Verschoven
- Binair gecodeerde decimalen (BCD)
- Voorstelling van reële getallen
- Voorstelling van lettertekens
- Voorbeelden
33Gehele getallen teken grootte
10000011 10000010 10000001 10000000 00000000 00000
001 00000010 00000011 8 bit
1011 1010 1001 1000
-3 -2 -1 -0
0 1 2 3
000 001 010 011 3 bit
0 0 0 0
4 bit
-7 ? 7
-127 ? 127
34Gehele getallen tekengrootte
Bereik -(2n-1-1) 2n-1-1 Aantal verschillende
waarden 2n-1
35Gehele getallen 1-complement
inverteren van bits
0110 6
1001 -6
Alle positieve getallen worden afgebeeld op
negatieve en vice versa
36Gehele getallen 1-complement
11111100 11111101 11111110 11111111 00000000 00000
001 00000010 00000011 8 bit
1100 1101 1110 1111
-3 -2 -1 -0
tekenuitbreiding
0 1 2 3
0000 0001 0010 0011 4 bit
-7 ? 7
-127 ? 127
37Voorbeeld 1-complementoptelling
3 0011 1 0001
4
0100
10001
Som ABoverdracht
38Gehele getallen 2-complement
-3 -2 -1 0 1 2 3
11111101 11111110 11111111 00000000 00000001 00000
010 00000011 8 bit
1101 1110 1111
0000 0001 0010 0011 4 bit
tekenuitbreiding
-128 ? 127
-8 ? 7
391-complement
Bereik -(2n-1-1) 2n-1-1 Aantal verschillende
waarden 2n-1
2-complement
Bereik -2n-1 2n-1-1 Aantal verschillende
waarden 2n
40Voorbeeld 2-complementoptelling
2
10010
modulo 4 bit
modulo 8 bit
41Berekening van 2-complement
1-complement 1
110
010
000
100
1
1
1
1
OVERFLOW
Ook (2n waarde) binair geïnterpreteerd
42Gehele getallen verschoven
-2 -1 0 1 2 3 4 5
43Gehele getallen verschoven
B bias
Bereik -B 2n-1-B Aantal verschillende
waarden 2n
44Basiscomplement codes
- Het principe van 1-complement en 2-complement kan
uitgebreid worden naar een willekeurige basis - 2-complement wordt dan de basiscomplementnotatie
genoemd voor het talstelsel met basis 2 - 1-complementnotatie wordt dan de verminderde
basiscomplementnotatie genoemd voor het
talstelsel met basis 2
45Binair gecodeerde decimalen
packed unpacked
46Overzicht
- Logische operaties op bits en bitstrings
- Hexadecimale representatie
- Voorstelling van natuurlijke getallen
- Voorstelling van gehele getallen
- Voorstelling van reële getallen
- Vaste-kommavoorstelling
- Vlottende-kommavoorstelling
- Voorstelling van lettertekens
- Voorbeelden
47Vaste-kommavoorstelling
0001101001,01010
0001001001,01010
0010110010,10100
48Vlottende-kommavoorstelling
Vlottende komma voorstelling
Vlottende komma exponent
Vlottende komma mantisse
mantisse
exp
s
mantisse
expon
s
mantisse
exponent
s
49Vlottende-kommagetallen
1 10000001 01000000000000000000000
Verschoven representatie Bias 127 Exponent
129 - 127 2
50Vlottende-kommagetallen
1 10000001 01000000000000000000000
Genormaliseerde fractie 1.010000000000000000000
00 1 0 x 2-1 1 x 2-2 0 x 2-3 1 0
0.25 0 1.25
Waarde (-1)1 x 1.25 x 22 -1.25 x 4 -5.0
51Bereik precisie
Formaat 122, bias 1
52Alle 5-bit vk-getallen
Formaat 122, bias 1
m
1.00
1.25
1.50
1.75
e
-1
0
1
2
Vlottende-kommavoorstelling kan gesorteerd worden
53Gesorteerd
0 00 00 0.5 0 00 01 0.625 0 00 10 0.75 0
00 11 0.875 0 01 00 1 0 01 01 1.25 0 01
10 1.5 0 01 11 1.75 0 10 00 2 0 10 01
2.5 0 10 10 3 0 10 11 3.5 0 11 00 4 0 11
01 5 0 11 10 6 0 11 11 7
1 00 00 -0.5 1 00 01 -0.625 1 00 10
-0.75 1 00 11 -0.875 1 01 00 -1 1 01 01
-1.25 1 01 10 -1.5 1 01 11 -1.75 1 10 00
-2 1 10 01 -2.5 1 10 10 -3 1 10 11
-3.5 1 11 00 -4 1 11 01 -5 1 11 10 -6 1
11 11 -7
54Bereik
Formaat 122
55Bereik
Formaat 122, bias 1
m
00
01
10
11
e
-1
? 1
? 1.25
? 1.5
? 1.75
0
1
? 2
? 2.5
? 3
? 3.5
? ?
2
56Gesorteerd
0 00 00 0 0 00 01 0.25 0 00 10 0.5 0 00
11 0.75 0 01 00 1 0 01 01 1.25 0 01 10
1.5 0 01 11 1.75 0 10 00 2 0 10 01
2.5 0 10 10 3 0 10 11 3.5 0 11 00 ? 0
11 01 Nan 0 11 10 Nan 0 11 11 Nan
1 00 00 -0 1 00 01 -0.25 1 00 10 -0.5 1
00 11 -0.75 1 01 00 -1 1 01 01 -1.25 1
01 10 -1.5 1 01 11 -1.75 1 10 00 -2 1 10
01 -2.5 1 10 10 -3 1 10 11 -3.5 1 11 00
- ? 1 11 01 -Nan 1 11 10 -Nan 1 11 11
-Nan
57Bereik en precisie
? 0.00
? 0.25
? 0.50
Formaat 122
? 0.75
? 1.00
? 1.25
? 1.50
? 1.75
? 2.00
? 2.50
? 3.00
? 3.50
? ?
? Nan
? Nan
? Nan
58Voorbeeld
Representeer 5.1 in 148 met bias 7
5.1 5 0.1
5 101
0.1 2 0.2 0.2 2 0.4 0.4 2 0.8 0.8
2 1.6 0.6 2 1.2 0.2 2 0.4
5.1 101.00011001100...
1.0100011001100... x 22
Exponent 2 7 in 4 bits 9 1001
0100101000110
Eigenlijk 5.09375 maar 0100101000111 is 5.109375
!
59Bereik en precisie
1823
11152 Exponent bits
8 11 Gebruikte expten
255 2047 Mantisse bits
23
52 Efficiëntie 99,60
99,95 Aantal decimalen 6-7
15-16 Bereik
10-38-1038 10-308-10308 Gehelen -
Decimalen 9-10
18-19 - Bereik 0-109
0-1018
60Vlottende-kommagetallen
- Gehele getallen die niet meer bits nodig hebben
dan beschikbaar in de mantisse kunnen steeds
exact voorgesteld worden (en zullen dus niet
afgerond worden). - Slechts een zeer klein aantal reële getallen kan
exact voorgesteld worden. Alle andere worden
benaderd. Testen op gelijkheid is geen goed idee.
61Afronden
- Er kan op vier manieren afgerond worden
- Naar 8
- Naar - 8
- Naar 0 (afkappen)
- Naar de dichtste voorstelbare waarde
- 1 indien gt 0,5
- Afkappen indien lt 0,5
- Even mantisse indien 0,5
Vlottende komma afronden
62Extra bits
- Om de precisie te verhogen kunnen er bij de
berekening nog 3 extra bits gebruikt worden - Guard bit
- Rounding bit
- Sticky bit
Vlottende komma guard bit
Vlottende komma rounding bit
Vlottende komma sticky bit
GRS
IEEE 754
63Vlottende-komma-optelling
start
Maak de twee exponenten gelijk aan de grootste
Rond af
Tel de mantissen op
Genormaliseerd?
Normaliseer resultaat
Overflow Underflow
stop
exceptie
64Vlottende-komma-optelling
1.1111 x 23 1.0010 x 23
15.5 9.0
65Vlottende-komma-optelling
1.1111 x 23 1.0010 x 21
15.5 2.25
66Vlottende-komma-aftrekking
1.0001 x 24
17.0 -2.25
- 1.0010 x 21
67Vlottende-komma-aftrekking
68Vlottende-komma-optelling
Berekeningen in vlottende-kommagetallen zijn
benaderingen
Bewerkingen zijn niet steeds reversibel.
Associativiteit geldt niet
B.v. precisie van 4 decimalen
0.001 (1000 - 1000) 0.001 0 0.001
(0.001 1000) - 1000 1000 - 1000 0
69Vlottende-komma-vermenigvuldiging
1.1111 x 23 x 1.0010 x 23
15.5 x 9.0
70Overzicht
- Logische operaties op bits en bitstrings
- Hexadecimale representatie
- Voorstelling van natuurlijke getallen
- Voorstelling van gehele getallen
- Voorstelling van reële getallen
- Voorstelling van lettertekens
- Voorbeelden
71Voorstelling lettertekens
- ASCII American Standard Code for Information
Interchange - EBCDIC Extended Binary Coded Decimal
Interchange Code - UCS Universal character set (ISO/IEC 10646)
- Per uniek teken 1 code point U0065 e
U00E9 é U25A0
72 00 10 20 30 40
50 60 70 0 NUL DLE SP
0 _at_ P p 1 SOH
DC1 ! 1 A Q a
q 2 STX DC2 2 B
R b r 3 ETX DC3
3 C S c s 4 EOT
DC4 4 D T d
t 5 ENQ NAK 5 E U
e u 6 ACK SYN 6
F V f v 7 BEL
ETB 7 G W g
w 8 BS CAN ( 8 H
X h x 9 HT EM )
9 I Y i y A
LF SUB J Z
j z B VT ESC
K k C FF
FS , lt L \ l
D CR GS - M
m E SO RS .
gt N n F
SI US / ? O _
o DEL
Ascii-tabel
73Coderingen
U0065 U00E9 U25A0
Voorstelling e É
LATIN SMALL LETTER E LATIN SMALL LETTER E WITH ACUTE BLACK SQUARE
Decimaal 101 233 9632
UTF-8 0x65 0xC3A9 0xE296A0
UTF-16 0x0065 0x00E9 0x25A0
UTF-32 0x00000065 0x000000E9 0x000025A0
Windows Alt 101 Alt 0233 Alt 130 Alt 9632 Alt 254
C \u0065 \u00E9 \u25A0
html x65 / 101 xe9 / 233 x25a0 / 9632
74Overzicht
- Logische operaties op bits en bitstrings
- Hexadecimale representatie
- Voorstelling van natuurlijke getallen
- Voorstelling van gehele getallen
- Voorstelling van reële getallen
- Voorstelling van lettertekens
- Voorbeelden
75Interpretatie
10010000100100000000000000000000
Bitpatroon 10010000100100000000000000000000 Natu
urlijk getal 242535628810 Geheel getal
-186961100810 BCD 9090000010 Letters
ÉÉ ? ? Vlottende komma -5.67979851 x 10-29
De betekenis van een bitpatroon hangt af van de
context
76Enkele belangrijke getallen
20 1 21 2 22 4 23 8 24 16 25 32 26
64 27 128 28 256
-1 1111 11112 FF16 1111 1111 1111 11112
FF FF16
77Oefening
Gegeven het bitpatroon 01100111 Wat is hiervan de
waarde als
- Binair getal
- Teken-grootte notatie
- 1-complementgetal
- 2-complementgetal
- Verschoven representatie (bias 50)
- Binair vaste komma (2 bits na komma)
- BCD-getal
- Ascii-teken
- Vlottende-kommagetal (134, bias3)
78Oefening
Stel het getal -75 voor in 16 bits (in hex)
- Teken grootte notatie
- 1-complement
- 2-complement
- Verschoven representatie (bias 100)
- BCD 9-complement
- BCD 10-complement
- Vlottende komma-getal (1510, bias 15)
79Pauze