790 likes | 996 Views
Les 2: Gegevensvoorstelling. There are only 10 different kinds of people in the world: those who know binary and those who don't. - Anoniem. Overzicht. Logische operaties op bits en bitstrings Hexadecimale representatie Voorstelling van natuurlijke getallen
E N D
Les 2: Gegevensvoorstelling There are only 10 different kinds of people in the world: those who know binary and those who don't. - Anoniem
Overzicht • 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
George Boole (1815-1864) Eenheid van informatie binary digit ofbit 0of1 “vals”of“waar” “false”of“true”
O1 O2 en O niet 0 0 0 0 1 0 1 0 0 1 1 1 0 1 1 0 O1 O2 of O1 O2 eof 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 10 Logische operaties monadische operatie dyadische operaties
0100 0101 0000 1110 en en 00001110 01000101 00000100 00000100 Bitsgewijze logische operaties: en 0100 0101 masker 0000 1110
0100 0101 0000 1110 of of 00001110 0100 0101 01001111 01001111 Bitsgewijze logische operaties: of 0100 0101 masker 0000 1110
01000101 0000 1110 eof eof 0000 1110 0100 0101 01001011 01001011 0000 1110 eof 01000101 Bitsgewijze logische operaties: exclusieve of (eof) 0100 0101 masker 0000 1110 eof = modulo-2 optelling eof = oneven aantal 1-bits
0100 0101 0000 1110 0000 0100 0100 0101 1111 0001 0100 0001 en en 0100 0101 0000 1110 0100 1111 0100 0101 1111 0001 1111 0101 of of 0100 0101 0100 0101 eof Voorbeelden ?
of en en of O1 “1” O1 “0” O2 eof eof A B A of B Alle boolese functies van 2 veranderlijken O1O2 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 10 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 O2
Overzicht • 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
Hexadecimale 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
Octale Notatie 000 001 010 011 100 101 110 111 0 1 2 3 4 5 6 7 in C: z = 015
Byte 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
Grootte-orden • Yotta (Y) 1024 • Zetta (Z) 1021 • Exa (E) 1018 • Peta (P) 1015 • Tera (T) 1012 • Giga (G) 109 • Mega (M) 106 • kilo (k) 103 • 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
Een woord Woord: aantal bytes (2,4,8) (architectuur-afhankelijk) Dubbelwoord: 2 woorden Quadwoord: 4 woorden
Voorbeeld 01010101010100001110101010110111 ... 0101 0101 0101 0000 1110 1010 1011 0111 ... 5 5 5 0 E A B 7 ... 55 50 EA B7 ... 5550 EAB7 ... 5550EAB7 ...
Overzicht • 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
Natuurlijke 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 00000101 00000110 8 bit
Waarde van binaire voorstelling Bereik: [02n-1] Aantal verschillende waarden: 2n
Waarde van binair getal 15610 = 100111002 22 27 24 23 15610 = 1x27 + 1x24 + 1x23 + 1x22 = 128 + 16 + 8 + 4 = 156
Decimaal 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
Binair 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
Oefening 3510= ? 1000112=
De binaire representatie is niet de enig mogelijke afbeelding 11 3 10 2 00 1 0 01
0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 1 11 3 10 2 00 1 G2 G3 01 0 1 0 Gray code 0 1 2 3 4 5 6 7 0 1 2 3 0 1 G1 Reflectieve Gray code
UPC-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?v=e6aR1k-ympo
QR-code Versie 1 (21x21) (Max capaciteit: 17 B) 4 niveaus van foutcorrectie Versie 40: (177x177) (Max capaciteit: 2953 B)
10011100 0001 0101 0110 9C 01 56 Natuurlijke getallen: BCDBinary Coded Decimal 156 1 5 6
0000 0001 0000 0101 0000 0110 0001 0101 0110 Packed vs. unpacked 156 1 5 6 0 1 0 5 0 6 01 56 01 05 06 packed BCD unpacked BCD
0110 3 1011 8 0011 3 1000 8 1 0001 1 0001 11 1011 11 Excess-3 code BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 E3 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 0 1 2 3 4 5 6 7 8 9 1 0100
Overzicht • 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
Gehele getallen: teken + grootte -3 -2 -1 -0 10000011 10000010 10000001 10000000 00000000 00000001 00000010 00000011 8 bit 1011 1010 1001 1000 0 1 2 3 … 0 0 0 0 000 001 010 011 3 bit 4 bit -7 7 -127 127
Gehele getallen: teken+grootte Bereik: [-(2n-1-1)2n-1-1] Aantal verschillende waarden: 2n-1
Gehele getallen: 1-complement “inverteren van bits” 0110 6 1001 -6 Alle positieve getallen worden afgebeeld op negatieve en vice versa
+1 +1 +1 +1 +1 +1 +1 Gehele getallen: 1-complement -3 -2 -1 -0 11111100 11111101 11111110 11111111 00000000 00000001 00000010 00000011 8 bit 1100 1101 1110 1111 tekenuitbreiding 0 1 2 3 … 0000 0001 0010 0011 4 bit -7 7 -127 127
3 0011 -1 1110 + 2 0010 Voorbeeld 1-complementoptelling 3 0011 1 0001 -3 1100 -1 1110 + + 4 0100 11010 1 10001 1 + + -4 1011 Som = A+B+overdracht
+1 +1 Gehele getallen: 2-complement -3 -2 -1 0 1 2 3 … 11111101 11111110 11111111 00000000 00000001 00000010 00000011 8 bit 1101 1110 1111 0000 0001 0010 0011 4 bit tekenuitbreiding -128 127 -8 7
1-complement Bereik: [-(2n-1-1)2n-1-1] Aantal verschillende waarden: 2n-1 2-complement Bereik: [-2n-12n-1-1] Aantal verschillende waarden: 2n
3 0011 -1 1111 3 0000 0011 -1 1111 1111 2 100000010 + + Voorbeeld 2-complementoptelling 2 10010 modulo 4 bit modulo 8 bit
-4 -3 -2 -1 0 1 2 3 100 101 110 111 101 011 111 001 000 001 010 011 010 110 100 1000 Berekening van 2-complement 1-complement + 1 110 010 000 100 1 1 1 1 OVERFLOW Ook: (2n – waarde) [binair geïnterpreteerd]
0 1 2 3 4 5 6 7 000 001 010 011 000 001 010 011 +1 +1 +1 +1 +1 +1 +1 bias = 2 100 101 110 111 100 101 110 111 Gehele getallen: verschoven -2 -1 0 1 2 3 4 5
Gehele getallen: verschoven B = bias Bereik: [-B2n-1-B] Aantal verschillende waarden: 2n
Basiscomplement 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
Teken + grootte -301 1 0 1 3 • 9-complement -301 (301+698=999) 9 9 8 6 • 10-complement -301 (9-compl + 1) 9 9 9 6 Binair gecodeerde decimalen packed & unpacked
Overzicht • 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
Vaste-kommavoorstelling 0001101001,01010 + 0001001001,01010 0010110010,10100
ANSI/IEEE 754 1|8|23 1|11|52 S E (-1) × M × 2 (1980) Vlottende-kommavoorstelling Vlottende komma: voorstelling Vlottende komma: exponent Vlottende komma: mantisse s exp mantisse s expon mantisse s exponent mantisse
Vlottende-kommagetallen 1 10000001 01000000000000000000000 Verschoven representatie Bias = 127 Exponent: 129 - 127 = 2
Vlottende-kommagetallen 1 10000001 01000000000000000000000 Genormaliseerde fractie 1.01000000000000000000000 = 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