Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WS12/13 -- Basisinformationstechnologie I | 03:...

Avatar for Jan Wieners Jan Wieners
October 24, 2012

WS12/13 -- Basisinformationstechnologie I | 03: Grundlagen III

Avatar for Jan Wieners

Jan Wieners

October 24, 2012
Tweet

More Decks by Jan Wieners

Other Decks in Education

Transcript

  1. Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners // [email protected]

    Basisinformationstechnologie I Wintersemester 2012/13 24. Oktober 2012 – Grundlagen III
  2.  Zahlensysteme  Dezimalsystem  (Oktalsystem)  Hexadezimalsystem  Binärsystem

     Darstellung ganzer Zahlen: Vorzeichendarstellung  Zweierkomplementdarstellung  Rechnen im Binärsystem  (Fest- und Gleitpunktdarstellung)  (IEEE 754: Single- / Double Precision) Themenüberblick „Grundlagen III“
  3. 1 0 0 „Die Binärzahl 100 stellt die Dezimalzahl 4

    dar.“ „Die Dezimalzahl 100 stellt die Dezimalzahl 100 dar.“ „Die Hexadezimalzahl 100 stellt die Dezimalzahl 256 dar.“ … Zahlensysteme
  4. Dezimalsystem 10 Symbole: 0, 1, 2, 3, 4, 5, 6,

    7, 8, 9 Binärsystem 2 Symbole: 0, 1 Hexadezimalsystem 16 („Hexa“) Symbole: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F […] Zahlensysteme
  5. Die Ziffern einer Dezimalzahl stellen die Koeffizienten von Zehnerpotenzen dar:

    Beispiele:  2351 = 2*10³ + 3*10² + 5*101 + 1*100 = 2*1000 + 3*100 + 5*10 + 1*1 = 2351  15 = 1*101 + 5*100 = 10 + 5 = 15 Dezimaldarstellung
  6. Im Binärsystem stehen zur Codierung der Zahlen nur die Ziffern

    0 und 1 zur Verfügung. Die Ziffern der Binärzahl stellen die Koeffizienten der Potenzen von 2 dar: 10111 = 1*24 + 0*2³ + 1*2² + 1*21 + 1*20 = 1*16 + 1*4 + 1*2 + 1*1 = 23 Binärdarstellung
  7. Im Hexadezimalsystem stehen zur Codierung von Zahlen die sechzehn (Hexa+Dezi)

    Ziffern 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F zur Verfügung Die ersten 16 Zahlen des Binärsystems (4 Bit) im Hexadezimalsystem: 0000=0, 0001=1, 0010=2, 0011=3 0100=4, 0101=5, 0110=6, 0111=7 1000=8, 1001=9, 1010=10 (A), 1011=11 (B), 1100=12 (C), 1101=13 (D), 1110=14 (E), 1111=15 (F) Hexadezimaldarstellung
  8. Die Ziffern der Zahl im Hexadezimalsystem stellen die Koeffizienten der

    Potenzen von 16 dar. Beispiele:  109 (im Hexadezimalsystem) => 9*160 + 0*161 + 1*162 = 9 + 0 + 256 = 265 (im Dezimalsystem)  AFFE = A*163 +F*162 +F*161 +E*160 = 10*4096 + 15*256+15*16+14*1 = 45054 Hexadezimalsystem
  9. Um die Verwirrung gering zu halten: Zahlensystem angeben als Index:

     Dezimalsystem 100110  100110  Binärsystem 10012  910  Hexadezimalsystem 100116  409710  Oktalsystem 10018  51310 Zahlensysteme
  10. Zur Umwandlung: Multiplikation der entsprechenden Ziffern mit den Zweierpotenzen: 10111

    = 1*24 + 0*2³ + 1*2² + 1*21 + 1*20 = 1*16 + 1*4 + 1*2 + 1*1 = 23 Umwandlung Binärsystem Dezimalsystem
  11. Blatt I, Aufgabe 2  1 1011 2 => welcher

    Zahl im Dezimalsystem?  0 1010 2 => welcher Zahl im Dezimalsystem?  1100 0011 2 => welcher Zahl im Dezimalsystem? Übung: Binärzahl  Dezimalzahl
  12. Lösung Blatt I, Aufgabe 2  1 1011 2 =

    1*20 + 1*21 + 0*2² + 1*23 + 1*24 = 1+ 2 + 0 + 8 +16 = 27 10  0 1010 2 = 0*20 + 1*21 + 0*2² + 1*23 + 0*24 = 0 + 2 + 0 + 8 + 0 = 10 10  1100 0011 2 = 195 10 Übung: Binärzahl  Dezimalzahl
  13.  Eine Dezimalzahl lässt sich über die Division durch 2

    und Aufschreiben der Reste in eine Binärzahl umwandeln.  Beispiel: Die Zahl 7610 soll ins Binärsystem umgewandelt werden  76 / 2 = 38; Rest 0  38 / 2 = 19; Rest 0  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 Umwandlung DezimalBinärsystem 1 0 0 1 1 0 0
  14.  510 = ?2  5 / 2 = 2;

    Rest 1  2 / 2 = 1; Rest 0  1 / 2 = 0; Rest 1 Umwandlung DezimalBinärsystem 1 1 0
  15.  3510 = ?2  12710 = ?2  12810

    = ?2 Übungen (Blatt I, Aufgabe 1)
  16.  3510 = ?2  35 / 2 = 17;

    Rest 1  17 / 2 = 8; Rest 1  8 / 2 = 4; Rest 0  4 / 2 = 2; Rest 0  2 / 2 = 1; Rest 0  1 / 2 = 0; Rest 1 Umwandlung DezimalBinärsystem 1 1 0 0 0 1
  17.  12710 = ?2  127 / 2 = 63;

    Rest 1  63 / 2 = 31; Rest 1  31 / 2 = 15; Rest 1  15 / 2 = 7; Rest 1  7 / 2 = 3; Rest 1  3 / 2 = 1; Rest 1  1 / 2 = 0; Rest 1 Umwandlung DezimalBinärsystem 1 1 1 1 1 1 1
  18.  12810 = ?2  128 / 2 = 64;

    Rest 0  64 / 2 = 32; Rest 0  32 / 2 = 16; Rest 0  16 / 2 = 8; Rest 0  8 / 2 = 4; Rest 0  4 / 2 = 2; Rest 0  2 / 2 = 1; Rest 0  1 / 2 = 0; Rest 1 Umwandlung DezimalBinärsystem 0 0 0 0 0 0 0 1
  19. Zur Umwandlung: Multiplikation der entsprechenden Ziffern mit den Potenzen von

    16: AFFE = A*163 +F*162 +F*161 +E*160 = 10*4096 + 15*256+15*16+14*1 = 45054 Umwandlung Hexadezimalsystem Dezimalsystem
  20.  Eine Dezimalzahl lässt sich über die Division durch die

    Basis 16 und Aufschreiben der Reste in eine Hexadezimalzahl umwandeln.  Beispiel: Die Zahl 4826710 soll ins Hexadezimalsystem umgewandelt werden  48267 / 16 = 3016 Rest : 11  B  3016 / 16 = 188 Rest: 8  188 / 16 = 11 Rest: 12  C  11 / 16 = 0; Rest : B  0 / 16 = 0; Rest: 0 Umwandlung DezimalHexadezimalsystem 0 B C 8 B
  21.  16 / 16 = 1 Rest : 0 

    0  1 / 16 = 0 Rest: 1 Umwandlung DezimalHexadezimalsystem 1 0
  22.  64 / 16 = 4 Rest : 0 

    0  4 / 16 = 0 Rest: 4 Umwandlung DezimalHexadezimalsystem 4 0
  23.  127 / 16 = 7 Rest : 15 

    F  7 / 16 = 0 Rest: 7 Umwandlung DezimalHexadezimalsystem 7 F
  24.  Zahlensysteme  Hexadezimal-  Dezimal-  Binärsystem  Umwandlung

    vom  Dezimal- ins Binärsystem  Binärsystem ins Dezimalsystem  Dezimal- ins Hexadezimalsystem  Hexadezimal- ins Dezimalsystem  Vorzeichenlose Zahlen  ToDo:  Binärsystem: Darstellung ganzer Zahlen, d.h. negativer Zahlen  Rechnen im Binärsystem Zwischenstand
  25. Wie ℤ darstellen?  Möglichkeit I: MSB (Most Significant Bit,

    d.h.: erstes Bit) zur Kennzeichnung verwenden  MSB == 0, dann positive Zahl  MSB == 1, dann negative Zahl  …Probleme? Binärdarstellung ganzer Zahlen 0000 = +0 1000 = -0 0001 = +1 1001 = -1 0010 = +2 1010 = -2 0011 = +3 1011 = -3 0100 = +4 1100 = -4 0101 = +5 1101 = -5 0110 = +6 1110 = -6 0111 = +7 1111 = -7
  26. Probleme!  0 zweimal codiert  Rechnen verkompliziert Binärdarstellung ganzer

    Zahlen 0000 = +0 1000 = -0 0001 = +1 1001 = -1 0010 = +2 1010 = -2 0011 = +3 1011 = -3 0100 = +4 1100 = -4 0101 = +5 1101 = -5 0110 = +6 1110 = -6 0111 = +7 1111 = -7
  27. Größe Java C++ Wertebereich 8 Bit byte char -27 ...

    27-1 oder -128 ... 127 16 Bit short int/short -215 ... 215-1 oder -32.768 ... 32.767 32 Bit int int/long -231 ... 231-1 oder -2.147.483.648 ... 2.147.483.647 Standardformate für ganze Zahlen
  28. Zweierkomplementdarstellung -9 -8 -7 -6 -5 -4 -3 -2 -1

    1000 = -8 1100 = -4 0000 = 0 0100 = 4 1001 = -7 1101 = -3 0001 = 1 0101 = 5 1010 = -6 1110 = -2 0010 = 2 0110 = 6 1011 = -5 1111 = -1 0011 = 3 0111 = 7 Darstellbarer Zahlenbereich: -2N-1 bis 2N-1-1 8 7 6 5 4 3 2 1 0
  29. Umwandlung 610 in -610 :  Schritt 0: Binärdarstellung bilden:

    0110  Schritt I: Einerkomplement bilden, d.h. Negation aller Bits  1001  Schritt II: Addition von 1  Additionsregeln! Zweierkomplement: Umrechnung
  30. Additionsregeln  0 + 0 = 0  0 +

    1 = 1  1 + 0 = 1  1 + 1 = 0 mit 1 Übertrag  1 0  1 + 1 + Übertrag = 1 + Übertrag  1 + 1 + Übertrag + Übertrag = 1+1+1+1 (4x1) Rechnen im Binärsystem: Addition
  31. 1101 1000 + 0011 0111 ---------------- 0101 1011 + 0000

    1101 ---------------- 1000 1000 + 1010 1011 ---------------- Übungsaufgaben Addition (Blatt 1, Aufgabe 3)
  32. Umwandlung 610 in -610 :  Schritt 0: Binärdarstellung bilden:

    0110  Schritt I: Einerkomplement bilden, d.h. Negation aller Bits  1001  Schritt II: Addition von 1  1001 + 1 = 1010  1010 ist die Entsprechung von -610 im Binärsystem (unter Verwendung der Zweierkomplementdarstellung) Zweierkomplement: Umrechnung 1000 = -8 1100 = -4 0000 = 0 0100 = 4 1001 = -7 1101 = -3 0001 = 1 0101 = 5 1010 = -6 1110 = -2 0010 = 2 0110 = 6 1011 = -5 1111 = -1 0011 = 3 0111 = 7
  33.  Wenn MSB == 1: Auffüllen mit 0 auf nächst

    größeres Nibble (wg. Wertebereich)  Welche Binärzahl (Stichw. Zweierkomplement) entspricht der Dezimalzahl -15?  Welche Binärzahl entspricht der Dezimalzahl -45?  Welche Binärzahl entspricht der Dezimalzahl -17? Übungsaufgaben Zweierkomplement
  34. 15 10 = 1111 2  Auf nächsthöheres Nibble auffüllen:

    1111 = 0000 1111  Einerkomplement bilden: 1111 0000  Zweierkomplement bilden, d.h. 1 addieren: 1111 0000 + 1 --------------- 1111 0001  -15 10 = 1111 0001 2 Übungsaufgaben Zweierkomplement
  35.  Wenn MSB == 1: Auffüllen mit 0 auf nächst

    größeres Nibble (wg. Wertebereich)  Welche Binärzahl entspricht der Dezimalzahl -45?  Welche Binärzahl entspricht der Dezimalzahl -17? Übungsaufgaben Zweierkomplement
  36. 45 10 = 10 1101 2  Auf nächsthöheres Nibble

    auffüllen: 10 1101 = 0010 1101  Einerkomplement bilden: 1101 0010  Zweierkomplement bilden, d.h. 1 addieren: 1101 0010 + 1 --------------- 1101 0011  -45 10 = 1101 0011 2 Übungsaufgaben Zweierkomplement
  37. 17 10 = 1 0001 2  Auf nächsthöheres Nibble

    auffüllen: 1 0001 = 0001 0001  Einerkomplement bilden: 1110 1110  Zweierkomplement bilden, d.h. 1 addieren: 1110 1110 + 1 --------------- 1110 1111  -17 10 = 1110 1111 2 Übungsaufgaben Zweierkomplement
  38. Subtraktion = Addition der zu subtrahierenden Zahl: 13 - 15

    = 13 + (-15) = -2 Im Binärsystem: 510 - 710 = 510 +(- 710 ) 0101  510 + 1001  Zweierkomplementdarst. von 710 ------ 1110  Führendes Bit == 1: Negative Zahl Da negative Zahl: Wieder umwandeln, um Betrag zu bestimmen: Einerkomplement von 1110 = 0001 Zweierkomplement von 1110 = 0010 = (-)210 Subtraktion: Addition von Zweierkomplementzahlen
  39. Berechnen Sie im Binärsystem unter Verwendung des Zweierkomplements:  13-5

     -7+11  12-11  3-12  127-50 Übungsaufgaben (Aufgabe 5)
  40. Berechnen Sie:  13-5 13/2=6, Rest 1 5/2=2, Rest 1

    6/2 =3, Rest 0 2/2=1, Rest 0 3/2 =1, Rest 1 1/2=0, Rest 1 1/2 =0, Rest 1 13 = 0000 1101 5 = 101 = 0000 0101 Einerkomplement: 1111 1010 Zweierkomplement:1111 1011 0000 1101 +1111 1011 ---------------- 10000 1000 Zahl ist positiv (MSB==0)  Die führende 1, die aus der Addition ad infinitum resultiert, überschreitet den Wertebereich und wird gestrichen 13-5=1000=8 Übungsaufgaben
  41. Berechnen Sie:  -7+11  =11+(-7) 11/2=5, Rest 1 7/2=3,

    Rest 1 5/2 =2, Rest 1 3/2=1, Rest 1 2/2 =1, Rest 0 1/2=0, Rest 1 1/2 =0, Rest 1 11=0000 1011 7=111=0000 0111 Einerkomplement: 1111 1000 Zweierkomplement: 1111 1001 0000 1011 +1111 1001 ---------------- 10000 0100 0100  Zahl ist positiv (MSB==0), also Ergebnis = 0100 = 4 Übungsaufgaben
  42. Berechnen Sie:  12-11 12/2=6, Rest 0 6/2 =3, Rest

    0 3/2 =1, Rest 1 1/2 =0, Rest 1 12=1100 11=0000 1011 Einerkomplement: 1111 0100 Zweierkomplement: 1111 0101 0000 1100 +1111 0101 ----------------- 10000 0001  Zahl ist positiv (MSB==0), also Ergebnis = 0001 = 1 Übungsaufgaben
  43. Berechnen Sie:  3-12  =3+(-12) 3/2=1, Rest 1 12/2=6,

    Rest 0 1/2 =0, Rest 1 6/2=3, Rest 0 3/2=1, Rest 1 1/2=0, Rest 1 3=0011 12=0000 1100 Einerkomplement: 1111 00 11 Zweierkomplement: 1111 0100 0000 0011 +1111 0100 --------------- 1111 0111 Einerkomplement: 0000 1000; Zweierkomplement: 1001 3-12=1001=-9 Übungsaufgaben
  44. Berechnen Sie:  127-50  =127+(-50) 127=0111 1111 50=0011 0010

    Einerkomplement: 1100 1101 Zweierkomplement: 1100 1110 0111 1111 +1100 1110 ---------------- 10100 1101  Zahl ist positiv (MSB==0), also Ergebnis = 0100 1101 = 77 Übungsaufgaben
  45. Bei jeder 1 auf der rechten Seite (von links nach

    rechts): Vollständige Zahl der linken Seite notieren. Bei jeder 0: Nullen notieren. Beispiel: (47)10 * (17)10 = (101111)2 * (10001)2 101111* 10001 101111 00000 00000 00000 101111 --------------------- 1100011111 Rechnen im Binärsystem: Multiplikation
  46. 17*3 = ?  10001*11 10001 10001 --------- 110011 =

    51 Übungsaufgaben Multiplikation
  47. 23*15 = ?  10111*1111 10111 10111 10111 10111 ---------------

    101011001 = 345 Übungsaufgaben Multiplikation
  48. Zahlensysteme  Hexadezimal-  Dezimal-  Binärsystem Umwandlung vom 

    Dezimal- ins Binärsystem  Binärsystem ins Dezimalsystem  Dezimal- ins Hexadezimalsystem  Hexadezimal- ins Dezimalsystem Vorzeichenlose Zahlen Binärsystem: Darstellung ganzer Zahlen, d.h. negativer Zahlen  Zweierkomplementdarstellung Rechnen im Binärsystem  Addition  Subtraktion (Addition der negativen Zahl)  Multiplikation  Division Wer sich dafür interessiert: Reelle Zahlen  IEEE 754 Zwischenstand
  49. /

  50. Aufgabe 1 Welcher Zahlenbereich der natürlichen Zahlen lässt sich mit

    einer Bitfolge der Länge N=13 (unsigned, vorzeichenlos) darstellen? Nennen Sie bitte auch die kleinste und die größte darstellbare Zahl. Aufgabe 2 Wandeln Sie die Dezimalzahl 375 in eine Binärzahl um. Prüfen Sie Ihr Ergebnis, indem Sie die Binärzahl anschließend wieder zurück konvertieren. Hausaufgaben
  51. Aufgabe 3 Berechnen Sie im Binärsystem (ggf. unter Verwendung des

    Zweierkomplementes): 17 + 73 26 + 3 42 - 47 127 - 50 54 * 23 Aufgabe 4 Beschreiben Sie zwei Möglichkeiten zur Darstellung ganzer Zahlen und stellen sie (-23)10 mit beiden Möglichkeiten als Binärzahl dar. Welche Vorteile oder Nachteile haben die Möglichkeiten jeweils? Hausaufgaben