Einfhrung in die Informatik I - . Dr. Nikolaus Wulff Einfhrung in die Informatik I Das Rechnen in...

download Einfhrung in die Informatik I -  . Dr. Nikolaus Wulff Einfhrung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16

of 28

  • date post

    31-Mar-2018
  • Category

    Documents

  • view

    214
  • download

    2

Embed Size (px)

Transcript of Einfhrung in die Informatik I - . Dr. Nikolaus Wulff Einfhrung in die Informatik I Das Rechnen in...

  • Prof. Dr. Nikolaus Wulff

    Einfhrung in die Informatik I

    Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16

  • 2 Prof. Dr. Nikolaus Wulff Informatik I

    Zahlensysteme Neben dem blichen dezimalen Zahlensystem zur

    Basis 10 sind in der Informatik Systeme zur Basis 2, 8 und 16 gebruchlich.

    Zahlen werden gebildet aus den einzelnen Ziffern (Symbolen) eines Alphabets .

    Die Anzahl || der Elemente des Alphabets entspricht der jeweiligen Basis b.

    Die mit Hilfe dieser Symbole bildbaren Wrter w * werden mit dem Stellenwertverfahren des Zahlen-systems auf die natrlichen Zahlen abgebildet.

    Dasselbe Symbol a hat verschiedene Bedeutung.

  • 3 Prof. Dr. Nikolaus Wulff Informatik I

    Zahlen sind Wrter (an-1an-2...a0)b * gebildet aus den b verschiedenen Zeichen des Alphabets .

    Zur Schreibweise gehrt eine Interpretation innerhalb eines Stellenwertsystems zur Basis b:

    Zahlendarstellung

    an1 an2a1 a0b= j=0n1

    a j bj und 0a jb

    Achtung: Das Symbol wird auf der Folie in zwei Bedeutungen verwendet:

    1) Der griechischer Buchstabe (Sigma) als Abkrzung fr das Alphabet, bzw. * zur Kennzeichnung aller Wrter des Alphabets.

    2) Als mathematisches Zeichen fr die Summation.

    Darstellung einer vorzeichenlosen Ganzzahl zur Basis b

  • 4 Prof. Dr. Nikolaus Wulff Informatik I

    Dezimalsystem Basis b=10Benutze Symbole/Ziffern = {0,1,2,3,4,5,6,7,8,9}

    Interpretation:

    Beispiel: (1011)10 = 110

    3 + 0102 + 1101 + 1100

    = 11000 + 0100 + 110 + 11 = eintausendelf

    an1 an2a1 a010= j=0n1

    a j 10j

  • 5 Prof. Dr. Nikolaus Wulff Informatik I

    Binrsystem Basis b=2Benutze Symbole/Ziffern = {0,1}

    Interpretation:

    Beispiel: (1011)2 = 12

    3 + 022 + 121 + 120 = 8 + 2 + 1= elf

    an1 an2a1 a02= j=0n1

    a j 2j

  • 6 Prof. Dr. Nikolaus Wulff Informatik I

    Hexadezimalsystem Basis b=16Symbole = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}

    Interpretation:

    Beispiel: (1011)16 = 116

    3 + 0162 + 1161 + 1160

    = 1 4096 + 0256 + 116 + 11 = viertausendeinhundertdreizehn

    an1 an2a1 a016= j=0n1

    a j 16j

  • 7 Prof. Dr. Nikolaus Wulff Informatik I

    Oktalsystem Basis b=8Symbole = {0,1,2,3,4,5,6,7}

    Interpretation:

    Beispiel: (1011)8 = 18

    3 + 082 + 181 + 180

    = 1512 + 064 + 18 + 11 = fnfhunderteinundzwanzig

    an1 an2a1 a08= j=0n1

    a j 8j

  • 8 Prof. Dr. Nikolaus Wulff Informatik I

    Rechnen im Stellenwertsystem

    Die Addition erfolgt hnlich zum gewohnten Schulrechnen zur Basis 10:

    Der berlauf passiert nicht bei der Zehn sondern der jeweilige Basis b:

    3423+ 5678 9101

    1 1 1

    01012+ 00112 10002

    1 1 1

    34238+ 56768 113218

    1 1 1 1

    346416+ D6D616 10B3A16

    1 1

  • 9 Prof. Dr. Nikolaus Wulff Informatik I

    Basiswechsel

    Offensichtlich sind neben der Basis 2, 8, 10 und 16 beliebig viele verschiedene Zahlensysteme mglich.

    Zahlen drfen nicht einfach blind miteinander ver-glichen oder verarbeitet werden, wenn sie in unter-schiedlichen Basen reprsentiert werden.

    Es ist daher wichtig geeignete Vorschriften zur Umrechnung von einer Basis p zur Basis q zu haben.

    Eine solche eindeutige Rechenvorschrift wird auch Algorithmus genannt.

    Algorithmen knnen von Hand oder besser noch vom Computer abgearbeitet/ausgefhrt werden.

  • 10 Prof. Dr. Nikolaus Wulff Informatik I

    Basiswechsel bei b=2k

    Soll zwischen den Basen 2, 8, 16 umgerechnet werden, so bietet die Darstellung b=2k ein einfaches Verfahren mit Hilfe der Gruppierung nach 3 und 4 Bitfeldern an:

    3 Bit bilden eine Oktalzahl Ein Nibbel bildet eine Hexzahl

    ...0101101101012

    010 110 110 101(2 6 6 5 )8

    0101 1011 0101 (5 B 5 )16

    5B516 = 146110 = 26658 = 00000101101101012

    146110 =

  • 11 Prof. Dr. Nikolaus Wulff Informatik I

    Modulo-Division Dividiert man eine natrliche Zahl durch eine

    andere natrliche Zahl so ergibt sich ein Quotient q und ein Rest r.

    Diese Art der Modulo-Division mit Rest wird in der

    Informatik mit mod bezeichnet, um sie von der gewhnlichen Division div zu unterscheiden.

    Die Menge wird bei der Division nicht verlassen. Es gilt z. B. 9 div 3 = 3 jedoch 7 div 3 = 2, da 2.333... keine natrliche Zahl ist. ( )

    Es gilt die Beziehung: z = (z div d)*d + (z mod d)

    zd0

    2. 333

    z=qd r z /d=q Rest r

  • 12 Prof. Dr. Nikolaus Wulff Informatik I

    Hornerschema Basiswechsel lassen sich effizient bestimmen mit der

    Darstellung nach dem Hornerschema zur Basis b:

    Obige Zahl z geteilt durch b ergibt

    weitere Division von mit b ergibt

    d.h. jede weitere Division liefert eine weitere Ziffer der Darstellung zur Basis b, bis der Quotient Null ist.

    z

    z= j=0n1

    a j bj=an1 ban2ba2ba1ba0

    an1 ban2ba2bz

    a1 Rest a0

    an1 ban2bba2 Rest a1

  • 13 Prof. Dr. Nikolaus Wulff Informatik I

    Divisionsalgorithmus

    1. Teile die Zahl z durch die Basis b und ermittele den Quotienten q und den Rest r.

    2. Ist der Quotient q0 setze z=q und fahre fort mit 1.3. Die einzelnen Reste rk von rckwrts gelesen sind

    die Reprsentation von z= (rnrn-1...r0)b in der Basis b.436110:8=545 + Rest 1 54510:8= 68 + Rest 1 6810:8= 8 + Rest 4 810:8= 1 + Rest 0 110:8= 0 + Rest 1

    436110:16=272 + Rest 9 27210:16= 17 + Rest 0 1710:16= 1 + Rest 1 110:16= 0 + Rest 1

    436110 = 104118 = 110916

  • 14 Prof. Dr. Nikolaus Wulff Informatik I

    Umrechnung von b=10 nach b=2k

    Zur Umrechnung einer Zahl z im Zehnersystem zur Basis 2 empfiehlt es sich diese zunchst in das Oktalsystem zu berfhren (8 liegt dicht an 10) und dann jedes Oktalsymbol als 3-Bitzahl zu schreiben:z = 436110 = 104118 siehe vorhergehende Folie

    1 0 4 1 1 8001 000 100 001 001

    z = 00010001000010012 in 16 Bit Darstellung

  • 15 Prof. Dr. Nikolaus Wulff Informatik I

    Vorzeichenbehaftete Ganzzahlen Bis lang wurden nur natrliche Zahlen betrach-

    tet, um auch negative Zahlen darzustellen wird das hchste Bit v als Vorzeichenbit interpretiert:

    Da ein Bit fr das Vorzeichen verwendet wird gibt es bei gleicher Bitlnge , nur noch halb so viele positive Zahlen, im Vergleich zur Reprsentation ohne Vorzeichen.

    zz

    (v an2 an3a1 a0)2

    Darstellung einer Ganzzahl zur Basis 2

  • 16 Prof. Dr. Nikolaus Wulff Informatik I

    Zweierkomplement Die Darstellung negativer Zahlen sind allerdings

    nicht im Stellenwertsystem codiert! Die naive Verallgemeinerung der Codierung ist falsch:

    Es gbe zwar gleich viele positive wie negative mglich darstellbare Zahlen, htte aber zur Folge, dass es eine positive und eine negative Null gibt.

    Es wird daher eine unsymmetrische Codierung gewhlt, das Zweierkomplement, es entsteht durch Invertierung aller Bit und Addition von Eins.

    (v an2 an3a1 a0)2(1)v j=0

    n2a j 2

    j

  • 17 Prof. Dr. Nikolaus Wulff Informatik I

    Darstellung im Zweierkomplement

    0000000100100011010001010110011110001001101010111100110111101111

    Bitfolge unsigned0123456789

    101112131415

    01234567

    -0-1-2-3-4-5-6-7

    01234567

    -1-2-3-4-5-6-7-8

    01234567

    -8-7-6-5-4-3-2-1

    mgliche Interpretationen

    positiv

    negativ

    01234567

    -7-6-5-4-3-2-1-0

  • 18 Prof. Dr. Nikolaus Wulff Informatik I

    Invertierung einer Binrzahl

    Eine Binrzahl wird invertiert, indem alle Nullen durch Einsen und alle Einsen durch Nullen ersetzt werden.

    Diese Invertierungsoperation lsst sich einfach in der Hardware einer CPU realisieren.

    x= j=0n1

    a j2j x= j=0

    n11a j2

    j

    x=0100 x=1011x=0101 x=1010

    x=0000 x=1111

  • 19 Prof. Dr. Nikolaus Wulff Informatik I

    Negative Binrzahlen Der Vorteil der Zweierkomplementdarstellung ist die

    einfache Berechenbarkeit durch Invertierung der Bitfolge und anschlieende Addition von 1.

    Die Subtraktion zweier Zahlen lsst sich somit im Binrsystem auf einfache Addition zurckfhren.

    x=0100 x=1011x1=1100x

    x y = x y= x y1= x y 1

    x=x1

  • 20 Prof. Dr. Nikolaus Wulff Informatik I

    Beispiel: Binre Subtraktion

    46=46=461

    610=01102 610=10012 610=10102410=01002

    01002+ 10012 11012+ 12 1110211102=210=410610

    Rechnung: 01002+ 10102 11102

    oder

    Ergebnis:

  • 21 Prof. Dr. Nikolaus Wulff Informatik I

    Gleitkommazahlen Mit Hilfe der Zweierkomplementdarstellung ist es

    mglich negative und positive Ganzzahlen darzustellen. Gebrochene oder irrationale Zahlen lassen sich jedoch so nicht darstellen.

    Insbesondere gehen bei der Division zweier Ganzzahlen die Nachkommastellen verloren!

    Gleitkommaarithmetik: 19/10 = 1.9 ganzahlige Arithmetik: 19/10 = 1.(9) = 1

    19/10 liefert 1 Rest 9 und die 9 wird nicht bercksichtigt!

    Um den Zahlenbereich von auf auszudehnen sind Nachkommastellen erforderlich.

    x

  • 22 Prof. Dr. Nikolaus Wulff Informatik I

    Idee der Gleitkommazahlen

    Darstellung von Gleitkommazahlen im Zehnersystem:

    Die Kommastelle lsst sich Durchschieben:

    34.567 lsst sich zur Basis 10 darstellen als die Ganzzahl 34567 mit dem negativen Exponenten -3 oder als 0.34567 mit Exponent 2 (Normalform).

    34.567=3.4567101=0.34567102=3