2. Grundlagen
Inhalt 2.1 Darstellung von Zahlen 2.2 Darstellung von Zeichen 2.3 Boolesche Algebra 2.4 Aussagenlogik 2.5 Logische Funktionen 2
2.1 Darstellung von Zahlen Im Alltag rechnen wir gewöhnlich im Dezimalsystem, d.h. wir stellen Zahlen zur Basis 10 mit Hilfe der Ziffern 0,, 9 dar Schreiben wir die Zahl 1315, so bedeutet dies eigentlich 1315 = 1 10 3 + 3 10 2 + 1 10 1 + 5 10 0 Wir können Zahlen zu anderen Basen (z.b. 2 und 16) darstellen und in diesen Darstellungen rechnen (z.b. addieren und subtrahieren) 3
Darstellung von Zahlen mit Basisangabe Wir können zu Zahlen ihre zugehörige Basis angeben: (1315) 10 bezeichnet dann die Zahl 1315 im Dezimalsystem, d.h. die Zahl 1315 steht in Klammern und die Basis 10 tiefgestellt dahinter In der Informatik spielen das Binärsystem (Basis 2) sowie das Hexadezimalsystem (Basis 16) eine wichtige Rolle 4
2.1.1 Binärsystem Rechner kennen intern nur zwei Zustände (Strom an/aus) und stellen Zahlen daher im Binärsystem zur Basis 2 dar Als Ziffern stehen nur 0 und 1 zur Verfügung, welche als Bits bezeichnet werden Schreiben wir (10101) 2, so bedeutet dies (10101) 2 =1 2 4 +0 2 3 +1 2 2 +0 2 1 +1 2 0 und entspricht im Dezimalsystem der Zahl 5
2.1.2 Hexadezimalsystem Das Hexadezimalsystem stellt Zahlen zur Basis 16 dar und wird ebenfalls oft in der Informatik verwendet Als Ziffern stehen 0,, 9, A, B, C, D, E, F zur Verfügung, wobei die Buchstaben A,, F die Ziffern 10,, 15 darstellen und so Mehrdeutigkeiten vermeiden Schreiben wir (FAB4) 16, so bedeutet dies (FAB4) 16 = 15 16 3 + 10 16 2 + 11 16 1 +4 16 0 und entspricht im Dezimalsystem der Zahl 6
Anwendungsbeispiel Hexadezimalsystem Das Hexadezimalsystem wird zur Angabe von Farben gemäß des RGB-Farbmodells verwendet Farbe wird als Mischung der Grundfarben Rot, Grün und Blau angegeben und es stehen pro Grundfarbe 256 = 16 2 Abstufungen zur Verfügung #FF2F92 #4BB4E7 7
<latexit sha1_base64="kkcfryjtkdobzedw7h5tct1mgle=">aaactnicdvfdb9mwfhxd1ygf64a3xiyqseolsdnj7r4mvekff6qh0w3skkaoc9tzsepidticlz/cr+evfgd/bicbiu5wzuvnnnupfh1uwnkmtrd8hhj37j94+gjv8fdj02fp90chl861rbsffzvcqsuuaocsgjvhhsnlqycilmnfmr9r6xefqwkmi0+mliewzfuwdapeocozzy+yxiogrzytrmoxbm3bxkynpswrrkri2wnqrnuwlge4oq4np2uwjmbbjjyf4ckx7sbsdtkdcdhh00nqxxj5cnvxlhwmtlemaswgmjqtra+mqwlis5rhlemzjconjae52civcupsgortfqqao+rdsomfeabj2xnq4ephzhgjlbufwr37t8isoxut3k8obthx+m6tjf9zs6xmdun1zvvwspxlz7sis1qrvbufkhmj70xqnovysqksdbs0h3rtcwwkbrebm6aagl47qkhizgpmr4ki1liddanoap2vdpmfp6dcyf6h2k9krzg7tc+jgvtfolxuewebovvnh//x/8f5ojk6/pf4vfz0o0j76dv6g47qfm3rer1hz2ifkpqkvqhv6ie38nyeenu+1rv81rxeo+gvvwcgidte</latexit> <latexit sha1_base64="kkcfryjtkdobzedw7h5tct1mgle=">aaactnicdvfdb9mwfhxd1ygf64a3xiyqseolsdnj7r4mvekff6qh0w3skkaoc9tzsepidticlz/cr+evfgd/bicbiu5wzuvnnnupfh1uwnkmtrd8hhj37j94+gjv8fdj02fp90chl861rbsffzvcqsuuaocsgjvhhsnlqycilmnfmr9r6xefqwkmi0+mliewzfuwdapeocozzy+yxiogrzytrmoxbm3bxkynpswrrkri2wnqrnuwlge4oq4np2uwjmbbjjyf4ckx7sbsdtkdcdhh00nqxxj5cnvxlhwmtlemaswgmjqtra+mqwlis5rhlemzjconjae52civcupsgortfqqao+rdsomfeabj2xnq4ephzhgjlbufwr37t8isoxut3k8obthx+m6tjf9zs6xmdun1zvvwspxlz7sis1qrvbufkhmj70xqnovysqksdbs0h3rtcwwkbrebm6aagl47qkhizgpmr4ki1liddanoap2vdpmfp6dcyf6h2k9krzg7tc+jgvtfolxuewebovvnh//x/8f5ojk6/pf4vfz0o0j76dv6g47qfm3rer1hz2ifkpqkvqhv6ie38nyeenu+1rv81rxeo+gvvwcgidte</latexit> <latexit sha1_base64="kkcfryjtkdobzedw7h5tct1mgle=">aaactnicdvfdb9mwfhxd1ygf64a3xiyqseolsdnj7r4mvekff6qh0w3skkaoc9tzsepidticlz/cr+evfgd/bicbiu5wzuvnnnupfh1uwnkmtrd8hhj37j94+gjv8fdj02fp90chl861rbsffzvcqsuuaocsgjvhhsnlqycilmnfmr9r6xefqwkmi0+mliewzfuwdapeocozzy+yxiogrzytrmoxbm3bxkynpswrrkri2wnqrnuwlge4oq4np2uwjmbbjjyf4ckx7sbsdtkdcdhh00nqxxj5cnvxlhwmtlemaswgmjqtra+mqwlis5rhlemzjconjae52civcupsgortfqqao+rdsomfeabj2xnq4ephzhgjlbufwr37t8isoxut3k8obthx+m6tjf9zs6xmdun1zvvwspxlz7sis1qrvbufkhmj70xqnovysqksdbs0h3rtcwwkbrebm6aagl47qkhizgpmr4ki1liddanoap2vdpmfp6dcyf6h2k9krzg7tc+jgvtfolxuewebovvnh//x/8f5ojk6/pf4vfz0o0j76dv6g47qfm3rer1hz2ifkpqkvqhv6ie38nyeenu+1rv81rxeo+gvvwcgidte</latexit> <latexit sha1_base64="upejxcni1mnj8oayk/iscg1imkc=">aaactnicdvfda9swffw8ry77alo97kusflqx2heksr8khb3szddb0hzqx8jyjssswuas13rcp2w/zq/bd9i/mexksjttisg5596drs5nk860cyjfa+/bw0epn+w9ht57/ull/ujg1ywwtakwpjjldzusdzyvsdtmcliqfbcrcrhmi/dd/filkm1k+dk0fcsc5cvbm0qmo5lr/chlrghxxdnpnhzj0l5lbnriuxzpwiswnqbtqmvjeoyj6tpwumljabxmwlkynhzjhsxmjxsqluz4ogn6gkntncchgzzkjk0flizyovx1nkhmbikyjhjoh1gtosk0idlck6aifajy5iafgnxslh0siqad296afh86jsnrqdwtde7zvxwwck0b4x51kii50fdrhfnpwiplyuiqd963hhvfn0yhoesvuy37izk3+t6kzr2ilsur2kbjn4oua46nxn02cmyuummbbwhvzfmb6q1rhbq3s2huc62/1c7zixsuo8z/2phj5qhnp/y5mxdnc6eweujgo3sr+em//j+4ccdthz8dj88w2yxtotfoltpcuzrhz+gdokdlrne39b39qd+9hbfywms3rd5gq3mndskrfgpivtsk</latexit> 2.1.3 Zahlendarstellung zu einer beliebigen Basis b Wir können Zahlen zu einer beliebigen natürlichen Basis b 2 N (b >1) darstellen (sogenannte b-adische Darstellung) Als Ziffern stehen die Zahlen 0, 1,, (b-1) zur Verfügung Schreiben wir nun eine Zahl (d m d 0 ) b mit (m + 1) Stellen, so bedeutet dies mÿ (d m...d 0 ) b = d i b i i=0 8
2.1.4 Umwandeln zwischen den Zahlensystemen Wie können wir eine Zahl von ihrer Darstellung zur Basis b 1 in ihre Darstellung zur Basis b 2 umwandeln? Dezimalsystem dient uns als Zwischendarstellung konvertiere aus ursprünglicher Darstellung ins Dezimalsystem konvertiere aus Dezimalsystem in gewünschte Darstellung (...) b1! (...) 10! (...) b2 Später sehen wir, wie man zwischen bestimmten Zahlensystemen schneller umwandeln kann 9
<latexit sha1_base64="+l6vrcwc4h0s48j6nqovysvg+sq=">aaacpnicdvhljtmwfhxdayip6qa7nhyvomyar0eazmkksmzygaajteeazilj3nas2hfko0cw8gl8dvv4ep4gnwgjjudklo7puue+j7zitjsg+dnwbty8dfvo3t3hvfsphu6pdh6davkrcjgvxkrzngjgritymmphvfjarm5hmrevtvryiyjnzpnenbwkgmxktmaugedloxet8mvmw6dfjzjrtcgsownasytavmoytuhkgpxfsmw0dqbrliqod3ehzrpjhktzixxogy7giyeoi9psylbjvplwakpdodh6igwqk1qidkmc2mfsa6gilcgglkhqkqpuajcgbrjv7moolksatm3xciufo2af11k5wxrcsx87lbfanyj3mykyk31d25l/1hipc0nyvfo/naz40jnbxfmuigpcj0p+0tcqnet5allz1qzk2he6rjk2em+nj1dmatw8cybqxdwoml0iildjdjrmoqp1y+1efpgdcof5bxo/qxzhxql9tgx89ovzsz11sb261fyzp/4/oiumocpvdseleb8jtieeomdogkj0hbbontpfmalok/qgvqmf3sr768xesk/1br89j9foeb9+ayzh1fy=</latexit> <latexit sha1_base64="+l6vrcwc4h0s48j6nqovysvg+sq=">aaacpnicdvhljtmwfhxdayip6qa7nhyvomyar0eazmkksmzygaajteeazilj3nas2hfko0cw8gl8dvv4ep4gnwgjjudklo7puue+j7zitjsg+dnwbty8dfvo3t3hvfsphu6pdh6davkrcjgvxkrzngjgritymmphvfjarm5hmrevtvryiyjnzpnenbwkgmxktmaugedloxet8mvmw6dfjzjrtcgsownasytavmoytuhkgpxfsmw0dqbrliqod3ehzrpjhktzixxogy7giyeoi9psylbjvplwakpdodh6igwqk1qidkmc2mfsa6gilcgglkhqkqpuajcgbrjv7moolksatm3xciufo2af11k5wxrcsx87lbfanyj3mykyk31d25l/1hipc0nyvfo/naz40jnbxfmuigpcj0p+0tcqnet5allz1qzk2he6rjk2em+nj1dmatw8cybqxdwoml0iildjdjrmoqp1y+1efpgdcof5bxo/qxzhxql9tgx89ovzsz11sb261fyzp/4/oiumocpvdseleb8jtieeomdogkj0hbbontpfmalok/qgvqmf3sr768xesk/1br89j9foeb9+ayzh1fy=</latexit> <latexit sha1_base64="+l6vrcwc4h0s48j6nqovysvg+sq=">aaacpnicdvhljtmwfhxdayip6qa7nhyvomyar0eazmkksmzygaajteeazilj3nas2hfko0cw8gl8dvv4ep4gnwgjjudklo7puue+j7zitjsg+dnwbty8dfvo3t3hvfsphu6pdh6davkrcjgvxkrzngjgritymmphvfjarm5hmrevtvryiyjnzpnenbwkgmxktmaugedloxet8mvmw6dfjzjrtcgsownasytavmoytuhkgpxfsmw0dqbrliqod3ehzrpjhktzixxogy7giyeoi9psylbjvplwakpdodh6igwqk1qidkmc2mfsa6gilcgglkhqkqpuajcgbrjv7moolksatm3xciufo2af11k5wxrcsx87lbfanyj3mykyk31d25l/1hipc0nyvfo/naz40jnbxfmuigpcj0p+0tcqnet5allz1qzk2he6rjk2em+nj1dmatw8cybqxdwoml0iildjdjrmoqp1y+1efpgdcof5bxo/qxzhxql9tgx89ovzsz11sb261fyzp/4/oiumocpvdseleb8jtieeomdogkj0hbbontpfmalok/qgvqmf3sr768xesk/1br89j9foeb9+ayzh1fy=</latexit> <latexit sha1_base64="84x1/zje26glbwpadlyrrw0qq58=">aaacpnicdvhljtmwfhxdayip6ccsjuwfkjvm0zgmsxhpjdzsqinepinnmsfx3i4vo47sgyby+qs+hi18ch+dmxajjudklo7puue+j7ww3eaq/bp4t27fuxtv7/7wwcnhj/dhb0/ojwo0ztfvqumlnbgmemvi4cdyra0zkblgi7x8vdyxn5g2xfufok1zksmq4ktoctgqg72cvk8ygwydpsgjawrm+unqxvnz4sljokgfapxf8ww0dqbrliqod3epzrpjdyjmrzicbn2m0tbosopbkikubssrgapizguy1jbaooftwbph0hhwe1qsfbskqu1qplo7ykoy0o2u7gbfjdop7rvu8avhfhiptlsv4j7922gjnkavucuubk7ntw1n/lpllsqb5gbnfwu8/lph1kjwxbpduk60+mxuvarlewp5vtfakropdnkidaqvp48lrhkf0tpaqozufjhee00oub0nk95o/di4l1/mtlvd/betn9wocom0vidavvjsuzwzotgn3wr+zb//h5xh09dh94fj0/l2sxvogxqojiher+guvufnkeyufupf0q/005t477zyw2xsvchw8xtthpfxn+lk1ai=</latexit> Umwandeln ins Dezimalsystem Eine Zahl (d m d 0 ) b in b-adischer Darstellung wandeln wir gemäß deren Definition ins Dezimalsystem um, indem wir folgenden Wert berechnen mÿ (n) 10 = d i b i i=0 10
Umwandeln ins Dezimalsystem (11011) 2 = (FAB) 16 = (4032) 5 = (121) 8 = 11
Ganzzahlige Division Zur Umwandlung benötigen wir die ganzzahlige Division Ganzzahliger Rest der Division von x durch b j x k (x mod b) =x b b Ganzzahliger Quotient der Division von x durch b j x k (x div b) = b 12
Ganzzahlige Division (17 mod 5) = (17 div 5) = (32 mod 7) = (32 div 7) = (267 mod 16) = (267 div 16) = (1025 mod 2) = (1025 div 2) = 13
Umwandeln aus dem Dezimalsystem Aus dem Dezimalsystem können wir eine Zahl (n) 10 mittels folgender Berechnungsvorschrift (später: Algorithmus) in die b-adische Darstellung umwandeln n n (10) (hierbei ist eine Wertzuweisung) i 0 (wir betrachten zuerst die letzte Stelle d 0 ) solange gilt, dass n > 0 ist d i (n mod b) (ganzzahliger Rest der Division durch b) n (n div b) (ganzzahliger Quotient der Division durch b) i (i + 1) 14
Umwandeln aus dem Dezimalsystem Beispiel: Umwandeln von (133) 10 ins Binärsystem n = 133 d 0 = (133 mod 2) = 1 n = 66 d 1 = (66 mod 2) = 0 n = 33 d 2 = (33 mod 2) = 1 n = 16 d 3 = (16 mod 2) = 0 n = 8 d 4 = (8 mod 2) = 0 n = 4 d 5 = (4 mod 2) = 0 n = 2 d 6 = (2 mod 2) = 0 n = 1 d 7 = (1 mod 2) = 1 n = 0 (133) 10 = (10000101) 2 15
Umwandeln aus dem Dezimalsystem Beispiel: Umwandeln von (815) 10 ins Hexadezimalsystem n = 815 d 0 = (815 mod 16) = F n = 50 d 1 = (50 mod 16) = 2 n = 3 d 2 = (3 mod 16) = 3 n = 0 (815) 10 = (32F) 16 Beispiel: Umwandeln von (133) 10 ins Hexadezimalsystem n = 133 d 0 = (133 mod 16) = 5 n = 8 d 1 = (8 mod 16) = 8 n = 0 (133) 10 = (85) 16 16
Umwandeln aus dem Dezimalsystem Beispiel: Umwandeln von (133) 10 ins Oktalsystem (b=8) 17
2.1.5 Schnelleres Umwandeln Bestimmte Kombinationen von Zahlensystemen erlauben eine schnellere Umwandlung Betrachten wir wiederum die Zahl (133) 10 (133) 10 = (1000 0101) 2 = (85) 16 dargestellt im Binärsystem und im Hexadezimalsystem Korrespondenz von Stellen im Hexadezimalsystem und Vierergruppen von Stellen im Binärsystem (z.b. 8 1000) 18
Umwandeln vom Hexadezimal- ins Binärsystem Jede Stelle wird als Vierergruppe von Stellen (0 oder 1) dargestellt, führende Nullen werden entfernt (AFFE) 16 = (1010 1111 1111 1110) 2 (15FB) 16 = (0001 0101 1111 1011) 2 (314) 16 = (FEE) 16 = 19
Umwandeln vom Binär- ins Hexadezimalsystem Füge führende Nullen ein bis die Stellenzahl ein Vielfaches von Vier ist, wandle Vierergruppen von Stellen in die entsprechende Ziffer im Hexadezimalsystem um (1100 0101 0000) 2 = (C50) 16 (110 0000 1110) 2 = (60E) 16 (1011 0001 1010 0011) 2 = (1 1111 1011) 2 = 20
Wann ist eine schnellere Umwandlung möglich? Eine schnellere Umwandlung ist immer dann möglich, wenn für die Basen b 1 und b 2 der beiden Zahlensysteme folgendes gilt b 2 = b1 m Eine Stelle in der Darstellung zur Basis b 2 entspricht dann immer einer Gruppe von m Ziffern in der Darstellung zur Basis b 1 21
Zusammenfassung Zahlen können zu anderer Basis als 10 dargestellt werden Binärsystem (mit Basis 2) und Hexadezimalsystem (mit Basis 16) spielen wichtige Rolle in der Informatik Umwandlung zwischen beliebigen Zahlensystem mittels Dezimalsystem als Zwischendarstellung Schnellere Umwandlung ist möglich für bestimmte Kombinationen von Zahlensystemen 22
Literatur [1] H.-P. Gumm und M. Sommer: Einführung in die Informatik, Oldenbourg Verlag, 2012 (Kapitel 1) 23