4. Zahlendarstellungen
|
|
- Evagret Böhme
- vor 6 Jahren
- Abrufe
Transkript
1 Zahlendarstellungen Wertebereich der Typen int, float und double Gemischte Ausdrücke und Konversionen; Löcher im Wertebereich; Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik; Fliesskomma-Richtlinien;
2 Binäre Zahlendarstellungen 122 Binäre Darstellung ("Bits" aus {0, 1}) b n b n 1... b 1 b 0 entspricht der Zahl b n 2 n + + b b 0 2 0
3 Binäre Zahlendarstellungen 122 Binäre Darstellung ("Bits" aus {0, 1}) b n b n 1... b 1 b 0 entspricht der Zahl b n 2 n + + b b 0
4 Binäre Zahlendarstellungen 122 Binäre Darstellung ("Bits" aus {0, 1}) b n b n 1... b 1 b 0 entspricht der Zahl b n 2 n + + b b 0 Beispiel:
5 Binäre Zahlendarstellungen 122 Binäre Darstellung ("Bits" aus {0, 1}) b n b n 1... b 1 b 0 entspricht der Zahl b n 2 n + + b b 0 Beispiel: entspricht
6 Binäre Zahlendarstellungen 122 Binäre Darstellung ("Bits" aus {0, 1}) b n b n 1... b 1 b 0 entspricht der Zahl b n 2 n + + b b 0 Beispiel: entspricht 43.
7 Binäre Zahlendarstellungen 122 Binäre Darstellung ("Bits" aus {0, 1}) b n b n 1... b 1 b 0 entspricht der Zahl b n 2 n + + b b 0 Beispiel: entspricht 43. Höchstes Bit, Most Significant Bit (MSB) Niedrigstes Bit, Least Significant Bit (LSB)
8 Bina re Zahlen: Zahlen der Computer? Wahrheit: Computer rechnen mit Binärzahlen. 123
9 Binäre Zahlen: Zahlen der Computer? 124 Klischee: Computer reden 0/1-Kauderwelsch.
10 Wertebereich des Typs int 126 public class Main { public static void main(string[] args) { Out.print("Minimum int value is "); Out.println(Integer.MIN_VALUE); Out.print("Maximum int value is "); Out.println(Integer.MAX_VALUE); } }
11 Wertebereich des Typs int 126 public class Main { public static void main(string[] args) { Out.print("Minimum int value is "); Out.println(Integer.MIN_VALUE); Out.print("Maximum int value is "); Out.println(Integer.MAX_VALUE); } } Minimum int value is Maximum int value is
12 Wertebereich des Typs int 126 public class Main { public static void main(string[] args) { Out.print("Minimum int value is "); Out.println(Integer.MIN_VALUE); Out.print("Maximum int value is "); Out.println(Integer.MAX_VALUE); } } Minimum int value is Maximum int value is Woher kommen diese Zahlen?
13 Wertebereich des Typs int 127 Repräsentation mit 32 Bits. Wertebereich { 2 31,..., 1, 0, 1,..., , }
14 Wertebereich des Typs int 127 Repräsentation mit 32 Bits. Wertebereich { 2 31,..., 1, 0, 1,..., , } Woher kommt gerade diese Aufteilung?
15 Rechnen mit Binärzahlen (4 Stellen) 128 Einfache Addition
16 Rechnen mit Binärzahlen (4 Stellen) 128 Einfache Subtraktion
17 Rechnen mit Binärzahlen (4 Stellen) 129 Addition mit Überlauf (1)0000
18 Rechnen mit Binärzahlen (4 Stellen) 129 Negative Zahlen? ( 5)???? 0 (1)0000
19 Rechnen mit Binärzahlen (4 Stellen) 130 Einfacher: ( 1) (1)0000
20 Rechnen mit Binärzahlen (4 Stellen) 130 Nutzen das aus: ? +????
21 Rechnen mit Binärzahlen (4 Stellen) 131 Invertieren! ( 4) = 2 B 1
22 Rechnen mit Binärzahlen (4 Stellen) 131 a a +( a 1) ā = 2 B 1
23 Rechnen mit Binärzahlen (4 Stellen) 132 Negation: Inversion und Addition von 1 a = ā + 1
24 Rechnen mit Binärzahlen (4 Stellen) 132 Wrap-around Semantik (Rechnen modulo 2 B ) a = 2 B a
25 Warum das funktioniert Modulo-Arithmetik: Rechnen im Kreis mod mod 12 = mod 12 4 Die Arithmetik funktioniert auch mit Dezimalzahlen (und auch für die Multiplikation) 133
26 Negative Zahlen (3 Stellen) 134 a a
27 Negative Zahlen (3 Stellen) 134 a a
28 Negative Zahlen (3 Stellen) 134 a a
29 Negative Zahlen (3 Stellen) 134 a a
30 Negative Zahlen (3 Stellen) 134 a a
31 Negative Zahlen (3 Stellen) 134 a a
32 Negative Zahlen (3 Stellen) 134 a a
33 Negative Zahlen (3 Stellen) a a Das höchste Bit entscheidet über das Vorzeichen. 134
34 136 Überlauf und Unterlauf Arithmetische Operationen (+,-,*) können aus dem Wertebereich herausführen. Ergebnisse können inkorrekt sein. power8: 15 8 = power20: 3 20 = Es gibt keine Fehlermeldung!
35 ,,Richtig Rechnen 137 public class Main { } public static void main(string[] args) { Out.print("Celsius: "); int celsius = In.readInt(); int fahrenheit = 9 celsius / ; Out.print(celsius + " degrees Celsius are "); Out.println(fahrenheit + " degrees Fahrenheit"); } 28 degrees Celsius are 82 degrees Fahrenheit.
36 ,,Richtig Rechnen public class Main { } public static void main(string[] args) { Out.print("Celsius: "); int celsius = In.readInt(); int fahrenheit = 9 celsius / ; Out.print(celsius + " degrees Celsius are "); Out.println(fahrenheit + " degrees Fahrenheit"); } 28 degrees Celsius are 82 degrees Fahrenheit. richtig wäre
37 ,,Richtig Rechnen 137 public class Main { } public static void main(string[] args) { Out.print("Celsius: "); float celsius = In.readInt(); float fahrenheit = 9 celsius / ; Out.print(celsius + " degrees Celsius are "); Out.println(fahrenheit + " degrees Fahrenheit"); } 28 degrees Celsius are 82.4 degrees Fahrenheit.
38 138 Typen float und double sind die fundamentalen Typen für Fliesskommazahlen approximieren den Körper der reellen Zahlen (R, +, ) in der Mathematik haben grossen Wertebereich, ausreichend für viele Anwendungen (double hat mehr Stellen als float) sind auf vielen Rechnern sehr schnell
39 138 Typen float und double sind die fundamentalen Typen für Fliesskommazahlen approximieren den Körper der reellen Zahlen (R, +, ) in der Mathematik haben grossen Wertebereich, ausreichend für viele Anwendungen (double hat mehr Stellen als float) sind auf vielen Rechnern sehr schnell
40 138 Typen float und double sind die fundamentalen Typen für Fliesskommazahlen approximieren den Körper der reellen Zahlen (R, +, ) in der Mathematik haben grossen Wertebereich, ausreichend für viele Anwendungen (double hat mehr Stellen als float) sind auf vielen Rechnern sehr schnell
41 138 Typen float und double sind die fundamentalen Typen für Fliesskommazahlen approximieren den Körper der reellen Zahlen (R, +, ) in der Mathematik haben grossen Wertebereich, ausreichend für viele Anwendungen (double hat mehr Stellen als float) sind auf vielen Rechnern sehr schnell
42 139 Fixkommazahlen feste Anzahl Vorkommastellen (z.b. 7) feste Anzahl Nachkommastellen (z.b. 3)
43 139 Fixkommazahlen feste Anzahl Vorkommastellen (z.b. 7) feste Anzahl Nachkommastellen (z.b. 3) 82.4 =
44 139 Fixkommazahlen feste Anzahl Vorkommastellen (z.b. 7) feste Anzahl Nachkommastellen (z.b. 3) 82.4 = Nachteile Wertebereich wird noch kleiner als bei ganzen Zahlen.
45 139 Fixkommazahlen feste Anzahl Vorkommastellen (z.b. 7) feste Anzahl Nachkommastellen (z.b. 3) = dritte Stelle abgeschnitten Nachteile Repräsentierbarkeit hängt von der Stelle des Kommas ab.
46 140 Fliesskommazahlen feste Anzahl signifikante Stellen (z.b. 10) plus Position des Kommas 82.4 = = Zahl ist Signifikand 10 Exponent
47 140 Fliesskommazahlen feste Anzahl signifikante Stellen (z.b. 10) plus Position des Kommas 82.4 = = Zahl ist Signifikand 10 Exponent
48 140 Fliesskommazahlen feste Anzahl signifikante Stellen (z.b. 10) plus Position des Kommas 82.4 = = Zahl ist Signifikand 10 Exponent
49 Wertebereich 141 Ganzzahlige Typen: Über- und Unterlauf häufig, aber...
50 Wertebereich 141 Ganzzahlige Typen: Über- und Unterlauf häufig, aber... Wertebereich ist zusammenhängend (keine Löcher ): Z ist diskret.
51 Wertebereich 141 Fliesskommatypen: Über- und Unterlauf selten, aber...
52 Wertebereich 141 Fliesskommatypen: Über- und Unterlauf selten, aber... es gibt Löcher: R ist kontinuierlich.
53 Löcher im Wertebereich public class Main { public static void main(string[] args) { Out.print("First number =? "); float n1 = In.readFloat(); Out.print("Second number =? "); float n2 = In.readFloat(); Out.print("Their difference =? "); float d = In.readFloat(); } Out.print("computed difference input difference = "); Out.println(n1 n2 d); } 142
54 Löcher im Wertebereich public class Main { public static void main(string[] args) { Out.print("First number =? "); Eingabe 1.5 float n1 = In.readFloat(); Out.print("Second number =? "); float n2 = In.readFloat(); Out.print("Their difference =? "); float d = In.readFloat(); Eingabe 1.0 Eingabe 0.5 } Out.print("computed difference input difference = "); Out.println(n1 n2 d); } 142
55 Löcher im Wertebereich public class Main { public static void main(string[] args) { Out.print("First number =? "); Eingabe 1.5 float n1 = In.readFloat(); Out.print("Second number =? "); float n2 = In.readFloat(); Out.print("Their difference =? "); float d = In.readFloat(); Eingabe 1.0 Eingabe 0.5 } Out.print("computed difference input difference = "); Out.println(n1 n2 d); } Ausgabe 0 142
56 Löcher im Wertebereich public class Main { public static void main(string[] args) { Out.print("First number =? "); Eingabe 1.1 float n1 = In.readFloat(); Out.print("Second number =? "); float n2 = In.readFloat(); Out.print("Their difference =? "); float d = In.readFloat(); Eingabe 1.0 Eingabe 0.1 } Out.print("computed difference input difference = "); Out.println(n1 n2 d); } 142
57 Löcher im Wertebereich public class Main { public static void main(string[] args) { Out.print("First number =? "); Eingabe 1.1 float n1 = In.readFloat(); Out.print("Second number =? "); float n2 = In.readFloat(); Out.print("Their difference =? "); float d = In.readFloat(); Eingabe 1.0 Eingabe 0.1 } Out.print("computed difference input difference = "); Out.println(n1 n2 d); } Ausgabe E-8 142
58 Löcher im Wertebereich public class Main { public static void main(string[] args) { Out.print("First number =? "); Eingabe 1.1 float n1 = In.readFloat(); } Out.print("Second number =? "); float n2 = In.readFloat(); Out.print("Their difference =? "); float d = In.readFloat(); Eingabe 1.0 Eingabe 0.1 Out.print("computed difference input difference = "); Out.println(n1 n2 d); } Ausgabe E-8 Ja was ist denn hier los? 142
59 Fliesskommazahlensysteme 143 Ein Fliesskommazahlensystem ist durch vier natürliche Zahlen definiert: β 2, die Basis,
60 Fliesskommazahlensysteme 143 Ein Fliesskommazahlensystem ist durch vier natürliche Zahlen definiert: β 2, die Basis, p 1, die Präzision (Stellenzahl),
61 Fliesskommazahlensysteme 143 Ein Fliesskommazahlensystem ist durch vier natürliche Zahlen definiert: β 2, die Basis, p 1, die Präzision (Stellenzahl), e min, der kleinste Exponent,
62 Fliesskommazahlensysteme 143 Ein Fliesskommazahlensystem ist durch vier natürliche Zahlen definiert: β 2, die Basis, p 1, die Präzision (Stellenzahl), e min, der kleinste Exponent, e max, der grösste Exponent.
63 Fliesskommazahlensysteme 143 Ein Fliesskommazahlensystem ist durch vier natürliche Zahlen definiert: β 2, die Basis, p 1, die Präzision (Stellenzahl), e min, der kleinste Exponent, e max, der grösste Exponent. Bezeichnung: F (β, p, e min, e max )
64 Fliesskommazahlensysteme 144 F (β, p, e min, e max ) enthält die Zahlen p 1 ± d i β i β e, i=0 d i {0,..., β 1}, e {e min,..., e max }.
65 Fliesskommazahlensysteme 144 F (β, p, e min, e max ) enthält die Zahlen p 1 ± d i β i β e, i=0 d i {0,..., β 1}, e {e min,..., e max }. In Basis-β-Darstellung: ± d 0 d 1... d p 1 β e,
66 Fliesskommazahlensysteme 145 Beispiel β = 10 Darstellungen der Dezimalzahl , , ,...
67 Normalisierte Darstellung 146 Normalisierte Zahl: ± d 0 d 1... d p 1 β e, d 0 0 Bemerkung 1 Die normalisierte Darstellung ist eindeutig und deshalb zu bevorzugen.
68 Normalisierte Darstellung 146 Normalisierte Zahl: ± d 0 d 1... d p 1 β e, d 0 0 Bemerkung 1 Die normalisierte Darstellung ist eindeutig und deshalb zu bevorzugen.
69 Normalisierte Darstellung 146 Normalisierte Zahl: ± d 0 d 1... d p 1 β e, d 0 0 Bemerkung 2 Die Zahl 0 (und alle Zahlen kleiner als β e min ) haben keine normalisierte Darstellung (werden wir später beheben)!
70 Menge der normalisierten Zahlen 147 F (β, p, e min, e max )
71 Normalisierte Darstellung 148 Beispiel F (2, 3, 2, 2) (nur positive Zahlen) d 0 d 1 d 2 e = 2 e = 1 e = 0 e = 1 e = = = 7
72 Normalisierte Darstellung 148 Beispiel F (2, 3, 2, 2) (nur positive Zahlen) d 0 d 1 d 2 e = 2 e = 1 e = 0 e = 1 e = = = 7
73 Normalisierte Darstellung 148 Beispiel F (2, 3, 2, 2) (nur positive Zahlen) d 0 d 1 d 2 e = 2 e = 1 e = 0 e = 1 e = = = 7
74 Normalisierte Darstellung 148 Beispiel F (2, 3, 2, 2) (nur positive Zahlen) d 0 d 1 d 2 e = 2 e = 1 e = 0 e = 1 e = = = 7
75 Normalisierte Darstellung 148 Beispiel F (2, 3, 2, 2) (nur positive Zahlen) d 0 d 1 d 2 e = 2 e = 1 e = 0 e = 1 e = = = 7
76 Binäre und dezimale Systeme 149 Intern rechnet der Computer mit β = 2 (binäres System) Literale und Eingaben haben β = 10 (dezimales System)
77 Binäre und dezimale Systeme 149 Intern rechnet der Computer mit β = 2 (binäres System) Literale und Eingaben haben β = 10 (dezimales System)
78 Umrechnung (0 < x < 2) 150 Berechnung der Binärdarstellung: 0 x = b i 2 i i=
79 Umrechnung (0 < x < 2) 150 Berechnung der Binärdarstellung: x = b 0 b 1 b 2 b 3...
80 Umrechnung (0 < x < 2) 150 Berechnung der Binärdarstellung: x = b 0 b 1 b 2 b 3... = b b 1 b 2 b 3...
81 Umrechnung (0 < x < 2) 150 Berechnung der Binärdarstellung: x = b 0 b 1 b 2 b 3... = b b 1 b 2 b 3... =
82 Umrechnung (0 < x < 2) 150 Berechnung der Binärdarstellung: x = b 0 b 1 b 2 b 3... = b b 1 b 2 b 3... = (x b 0 ) = 0 b 1 b 2 b 3 b 4...
83 Umrechnung (0 < x < 2) 150 Berechnung der Binärdarstellung: x = b 0 b 1 b 2 b 3... = b b 1 b 2 b 3... = 2 (x b 0 ) = b 1 b 2 b 3 b 4...
84 Umrechnung (0 < x < 2) 150 Berechnung der Binärdarstellung: x = b 0 b 1 b 2 b 3... = b b 1 b 2 b 3... = 2 (x b 0 ) = b 1 b 2 b 3 b 4...
85 Umrechnung (0 < x < 2) 150 Berechnung der Binärdarstellung: x = b 0 b 1 b 2 b 3... = b b 1 b 2 b 3... = 2 (x b 0 ) = b 1 b 2 b 3 b 4...
86 152 Binärdarstellung von 1.1 x b i x b i 2(x b i ) 1.1 b 0 = 1
87 152 Binärdarstellung von 1.1 x b i x b i 2(x b i ) 1.1 b 0 =
88 152 Binärdarstellung von 1.1 x b i x b i 2(x b i ) 1.1 b 0 = b 1 = 0
89 152 Binärdarstellung von 1.1 x b i x b i 2(x b i ) 1.1 b 0 = b 1 =
90 152 Binärdarstellung von 1.1 x b i x b i 2(x b i ) 1.1 b 0 = b 1 = b 2 = 0
91 152 Binärdarstellung von 1.1 x b i x b i 2(x b i ) 1.1 b 0 = b 1 = b 2 =
92 152 Binärdarstellung von 1.1 x b i x b i 2(x b i ) 1.1 b 0 = b 1 = b 2 = b 3 = 0
93 152 Binärdarstellung von 1.1 x b i x b i 2(x b i ) 1.1 b 0 = b 1 = b 2 = b 3 =
94 152 Binärdarstellung von 1.1 x b i x b i 2(x b i ) 1.1 b 0 = b 1 = b 2 = b 3 = b 4 = 1
95 152 Binärdarstellung von 1.1 x b i x b i 2(x b i ) 1.1 b 0 = b 1 = b 2 = b 3 = b 4 =
96 152 Binärdarstellung von 1.1 x b i x b i 2(x b i ) 1.1 b 0 = b 1 = b 2 = b 3 = b 4 = b 5 = 1
97 152 Binärdarstellung von 1.1 x b i x b i 2(x b i ) 1.1 b 0 = b 1 = b 2 = b 3 = b 4 = b 5 =
98 152 Binärdarstellung von 1.1 x b i x b i 2(x b i ) 1.1 b 0 = b 1 = b 2 = b 3 = b 4 = b 5 =
99 Binärdarstellung von 1.1 x b i x b i 2(x b i ) 1.1 b 0 = b 1 = b 2 = b 3 = b 4 = b 5 = , periodisch, nicht endlich 152
100 Binärdarstellungen von 1.1 und sind nicht endlich Fehler bei der Konversion 1.1f und 0.1f: Approximationen von 1.1 und = f =
101 Binärdarstellungen von 1.1 und sind nicht endlich Fehler bei der Konversion 1.1f und 0.1f: Approximationen von 1.1 und = f =
102 Binärdarstellungen von 1.1 und sind nicht endlich Fehler bei der Konversion 1.1f und 0.1f: Approximationen von 1.1 und = f =
103 Rechnen mit Fliesskommazahlen 154 ist fast so einfach wie mit ganzen Zahlen.
104 154 Rechnen mit Fliesskommazahlen Beispiel (β = 2, p = 4): Exponenten anpassen durch Denormalisieren einer Zahl
105 154 Rechnen mit Fliesskommazahlen Beispiel (β = 2, p = 4): Exponenten anpassen durch Denormalisieren einer Zahl
106 154 Rechnen mit Fliesskommazahlen Beispiel (β = 2, p = 4): Binäre Addition der Signifikanden
107 154 Rechnen mit Fliesskommazahlen Beispiel (β = 2, p = 4): = Binäre Addition der Signifikanden
108 154 Rechnen mit Fliesskommazahlen Beispiel (β = 2, p = 4): = Renormalisierung
109 154 Rechnen mit Fliesskommazahlen Beispiel (β = 2, p = 4): = Renormalisierung
110 154 Rechnen mit Fliesskommazahlen Beispiel (β = 2, p = 4): = Runden auf p signifikante Stellen, falls nötig
111 154 Rechnen mit Fliesskommazahlen Beispiel (β = 2, p = 4): = Runden auf p signifikante Stellen, falls nötig
112 155 Der IEEE Standard 754 legt Fliesskommazahlensysteme und deren Rundungsverhalten fest wird fast überall benutzt
113 155 Der IEEE Standard 754 legt Fliesskommazahlensysteme und deren Rundungsverhalten fest wird fast überall benutzt
114 Der IEEE Standard Single precision (float) Zahlen: F (2, 24, 126, 127) plus 0,,... Double precision (double) Zahlen: F (2, 53, 1022, 1023) plus 0,,... Alle arithmetischen Operationen runden das exakte Ergebnis auf die nächste darstellbare Zahl
115 Der IEEE Standard Single precision (float) Zahlen: F (2, 24, 126, 127) plus 0,,... Double precision (double) Zahlen: F (2, 53, 1022, 1023) plus 0,,... Alle arithmetischen Operationen runden das exakte Ergebnis auf die nächste darstellbare Zahl
116 32-bit Darstellung einer Fliesskommazahl ± Exponent Mantisse 2 126,..., 2 ± ,,
117 Fliesskomma-Richtlinien Regel Regel 1 Teste keine gerundeten Fliesskommazahlen auf Gleichheit! for (float i = 0.1; i!= 1.0; i += 0.1){ Out.println(i); }
118 Fliesskomma-Richtlinien Regel Regel 1 Teste keine gerundeten Fliesskommazahlen auf Gleichheit! for (float i = 0.1; i!= 1.0; i += 0.1){ Out.println(i); }
119 Fliesskomma-Richtlinien Regel Regel 1 Teste keine gerundeten Fliesskommazahlen auf Gleichheit! for (float i = 0.1; i!= 1.0; i += 0.1){ Out.println(i); } Endlosschleife, weil i niemals exakt 1 ist!
120 Fliesskomma-Richtlinien Regel Regel 2 Addiere keine zwei Zahlen sehr unterschiedlicher Grösse!
121 160 Fliesskomma-Richtlinien Regel 2 Regel 2 Addiere keine zwei Zahlen sehr unterschiedlicher Grösse!
122 160 Fliesskomma-Richtlinien Regel 2 Regel 2 Addiere keine zwei Zahlen sehr unterschiedlicher Grösse! =
123 160 Fliesskomma-Richtlinien Regel 2 Regel 2 Addiere keine zwei Zahlen sehr unterschiedlicher Grösse! = = (Rundung auf 4 Stellen)
124 160 Fliesskomma-Richtlinien Regel 2 Regel 2 Addiere keine zwei Zahlen sehr unterschiedlicher Grösse! = = (Rundung auf 4 Stellen) Addition von 1 hat keinen Effekt!
125 Fliesskomma-Richtlinien Regel Regel 3 Subtrahiere keine zwei Zahlen sehr ähnlicher Grösse! Auslöschungsproblematik (ohne weitere Erklärung).
126 Wahrheitswerte Boolesche Funktionen; der Typ boolean; logische und relationale Operatoren; Kurzschlussauswertung
127 Wo wollen wir hin? 163 int a = In.readInt(); if (a % 2 == 0){ Out.println("even"); } else { Out.println("odd"); }
128 Wo wollen wir hin? 163 int a = In.readInt(); if (a % 2 == 0){ Out.println("even"); } else { Out.println("odd"); } Verhalten hängt ab vom Wert eines Booleschen Ausdrucks
129 Wo wollen wir hin? 163 int a = In.readInt(); if (a % 2 == 0){ Out.println("even"); } else { Out.println("odd"); } Verhalten hängt ab vom Wert eines Booleschen Ausdrucks
130 Boolesche Werte in der Mathematik 164 Boolesche Ausdrücke können zwei mögliche Werte annehmen: F oder T
131 Boolesche Werte in der Mathematik 164 Boolesche Ausdrücke können zwei mögliche Werte annehmen: F oder T F entspricht falsch T entspricht wahr
132 Der Typ boolean in Java 165 Repräsentiert Wahrheitswerte
133 Der Typ boolean in Java 165 Repräsentiert Wahrheitswerte Literale false und true
134 Der Typ boolean in Java 165 Repräsentiert Wahrheitswerte Literale false und true Wertebereich {false, true} boolean b = true; // Variable mit Wert true (wahr)
135 Relationale Operatoren 166 a < b (kleiner als) Zahlentyp Zahlentyp boolean
136 Relationale Operatoren 166 a < b (kleiner als) boolean b = (1 < 3); // b =
137 Relationale Operatoren 166 a < b (kleiner als) boolean b = (1 < 3); // b = true (wahr)
138 Relationale Operatoren 166 a >= b (grösser gleich) int a = 0; boolean b = (a >= 3); // b =
139 Relationale Operatoren 166 a >= b (grösser gleich) int a = 0; boolean b = (a >= 3); // b = false (falsch)
140 Relationale Operatoren 166 a == b (gleich) int a = 4; boolean b = (a % 3 == 1); // b =
141 Relationale Operatoren 166 a == b (gleich) int a = 4; boolean b = (a % 3 == 1); // b = true (wahr)
142 Relationale Operatoren 166 a!= b (ungleich) int a = 1; boolean b = (a!= 2 a 1); // b =
143 Relationale Operatoren 166 a!= b (ungleich) int a = 1; boolean b = (a!= 2 a 1); // b = false (falsch)
144 Boolesche Funktionen in der Mathematik 167 Boolesche Funktion F entspricht falsch. T entspricht wahr. f : {F, T } 2 {F, T }
145 AND(x, y) x y 168 Logisches Und F entspricht falsch. T entspricht wahr. f : {F, T } 2 {F, T } x y AND(x, y) F F F F T F T F F T T T
146 Logischer Operator && 169 a && b (logisches Und) boolean boolean boolean
147 Logischer Operator && 169 a && b (logisches Und) int n = 1; int p = 3; boolean b = (n < 0) && (0 < p); //
148 Logischer Operator && 169 a && b (logisches Und) int n = 1; int p = 3; boolean b = (n < 0) && (0 < p); // b = true (wahr)
149 OR(x, y) x y 170 Logisches Oder F entspricht falsch. T entspricht wahr. f : {F, T } 2 {F, T } x y OR(x, y) F F F F T T T F T T T T
150 Logischer Operator 171 a b (logisches Oder) boolean boolean boolean
151 Logischer Operator 171 a b (logisches Oder) int n = 1; int p = 0; boolean b = (n < 0) (0 < p); //
152 Logischer Operator 171 a b (logisches Oder) int n = 1; int p = 0; boolean b = (n < 0) (0 < p); // b = false (falsch)
153 NOT(x) x 172 Logisches Nicht F entspricht falsch. T entspricht wahr. f : {F, T } {F, T } x F T NOT(x) T F
154 Logischer Operator! 173!b (logisches Nicht) boolean boolean
155 Logischer Operator! 173!b (logisches Nicht) int n = 1; boolean b =!(n < 0); //
156 Logischer Operator! 173!b (logisches Nicht) int n = 1; boolean b =!(n < 0); // b = true (wahr)
157 Präzedenzen 174!b && a
158 Präzedenzen 174!b && a (!b) && a
159 Präzedenzen 174 a && b c && d
160 Präzedenzen 174 a && b c && d (a && b) (c && d)
161 Präzedenzen 174 a b && c d
162 Präzedenzen 174 a b && c d a (b && c) d
163 Präzedenzen x < y && y!= 3 * z! b
164 Präzedenzen 175 Der unäre logische Operator! bindet stärker als 7 + x < y && y!= 3 * z (!b)
165 Präzedenzen 175 Der unäre logische Operator! bindet stärker als binäre arithmetische Operatoren. Diese binden stärker als (7 + x) < y && y!= (3 * z) (!b)
166 Präzedenzen 175 Der unäre logische Operator! bindet stärker als binäre arithmetische Operatoren. Diese binden stärker als relationale Operatoren, und diese binden stärker als ((7 + x) < y) && (y!= (3 * z)) (!b)
167 Präzedenzen Der unäre logische Operator! bindet stärker als binäre arithmetische Operatoren. Diese binden stärker als relationale Operatoren, und diese binden stärker als binäre logische Operatoren. ((7 + x) < y) && (y!= (3 * z)) (!b) Einige Klammern auf den vorher gezeigten Folien waren unnötig. 175
168 DeMorgansche Regeln 176!(a && b) == (!a!b)
169 DeMorgansche Regeln 176!(a && b) == (!a!b)! (reich und schön) == (arm oder hässlich)
170 DeMorgansche Regeln 176!(a && b) == (!a!b)!(a b) == (!a &&!b)! (reich und schön) == (arm oder hässlich)
171 Anwendung: Entweder... Oder (XOR) 177 (x y) &&!(x && y)
172 Anwendung: Entweder... Oder (XOR) 177 (x y) &&!(x && y) x oder y, und nicht beide
173 Anwendung: Entweder... Oder (XOR) 177 (x y) &&!(x && y) x oder y, und nicht beide (x y) && (!x!y)
174 Anwendung: Entweder... Oder (XOR) 177 (x y) &&!(x && y) x oder y, und nicht beide (x y) && (!x!y) x oder y, und eines nicht
175 Anwendung: Entweder... Oder (XOR) 177 (x y) &&!(x && y) x oder y, und nicht beide (x y) && (!x!y) x oder y, und eines nicht!(!x &&!y) &&!(x && y)
176 Anwendung: Entweder... Oder (XOR) 177 (x y) &&!(x && y) x oder y, und nicht beide (x y) && (!x!y) x oder y, und eines nicht!(!x &&!y) &&!(x && y) nicht keines, und nicht beide
177 Anwendung: Entweder... Oder (XOR) 177 (x y) &&!(x && y) x oder y, und nicht beide (x y) && (!x!y) x oder y, und eines nicht!(!x &&!y) &&!(x && y) nicht keines, und nicht beide!(!x &&!y x && y)
178 Anwendung: Entweder... Oder (XOR) 177 (x y) &&!(x && y) x oder y, und nicht beide (x y) && (!x!y) x oder y, und eines nicht!(!x &&!y) &&!(x && y) nicht keines, und nicht beide!(!x &&!y x && y) nicht: keines oder beide
179 178 Kurzschlussauswertung Logische Operatoren && und werten den linken Operanden zuerst aus. Falls das Ergebnis dann schon feststeht, wird der rechte Operand nicht mehr ausgewertet.
180 178 Kurzschlussauswertung Logische Operatoren && und werten den linken Operanden zuerst aus. Falls das Ergebnis dann schon feststeht, wird der rechte Operand nicht mehr ausgewertet. x hat Wert 6 x!= 0 && z / x > y
181 178 Kurzschlussauswertung Logische Operatoren && und werten den linken Operanden zuerst aus. Falls das Ergebnis dann schon feststeht, wird der rechte Operand nicht mehr ausgewertet. x hat Wert 6 true && z / x > y
182 178 Kurzschlussauswertung Logische Operatoren && und werten den linken Operanden zuerst aus. Falls das Ergebnis dann schon feststeht, wird der rechte Operand nicht mehr ausgewertet. x hat Wert 6 true && z / x > y
183 178 Kurzschlussauswertung Logische Operatoren && und werten den linken Operanden zuerst aus. Falls das Ergebnis dann schon feststeht, wird der rechte Operand nicht mehr ausgewertet. x hat Wert 0 x!= 0 && z / x > y
184 178 Kurzschlussauswertung Logische Operatoren && und werten den linken Operanden zuerst aus. Falls das Ergebnis dann schon feststeht, wird der rechte Operand nicht mehr ausgewertet. x hat Wert 0 false && z / x > y
185 178 Kurzschlussauswertung Logische Operatoren && und werten den linken Operanden zuerst aus. Falls das Ergebnis dann schon feststeht, wird der rechte Operand nicht mehr ausgewertet. x hat Wert 0 false (falsch)
186 178 Kurzschlussauswertung Logische Operatoren && und werten den linken Operanden zuerst aus. Falls das Ergebnis dann schon feststeht, wird der rechte Operand nicht mehr ausgewertet. x hat Wert 0 x!= 0 && z / x > y Keine Division durch 0
Richtig Rechnen. // Program: fahrenheit.c // Convert temperatures from Celsius to Fahrenheit.
Fliesskommazahlen Richtig Rechnen // Program: fahrenheit.c // Convert temperatures from Celsius to Fahrenheit. #include int main() { // Input std::cout
MehrGanze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren
Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit.
Mehr2. Ganze Zahlen int unsigned int
99 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit // Program: fahrenheit.cpp
Mehr1. Ganze Zahlen. 9 * celsius / Celsius to Fahrenheit. (9 * celsius / 5) + 32
1. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int 1 Celsius to Fahrenheit // Program: fahrenheit.cpp
Mehr2. Ganze Zahlen. Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int
74 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit 75 // Program: fahrenheit.cpp
Mehr6. Fliesskommazahlen II. Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik; Fliesskomma-Richtlinien; Harmonische Zahlen
163 6. Fliesskommazahlen II Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik; Fliesskomma-Richtlinien; Harmonische Zahlen Fliesskommazahlensysteme 164 Ein Fliesskommazahlensystem
Mehr7. Fliesskommazahlen II. Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik; Fliesskomma-Richtlinien; Harmonische Zahlen
238 7. Fliesskommazahlen II Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik; Fliesskomma-Richtlinien; Harmonische Zahlen 239 Fliesskommazahlensysteme Ein Fliesskommazahlensystem
MehrGanze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren
Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit.
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
MehrJava I Vorlesung Imperatives Programmieren
Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.
Mehrfloat: Fließkommazahl nach IEEE 754 Standard mit 32 bit
Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen
MehrKapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08
Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für
MehrVorlesung Programmieren
Vorlesung Programmieren Zahlendarstellung Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Agenda Zahlendarstellung Oder: wie rechnen
MehrKapitel 3. Grunddatentypen, Ausdrücke und Variable
Kapitel 3 Grunddatentypen, Ausdrücke und Variable Grunddatentypen, Ausdrücke und Variable 1 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable
1 Kapitel 3 Grunddatentypen, Ausdrücke und Variable 2 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen Datenstrukturen werden mit einem
MehrKapitel 4: Elementare Konzepte von Programmiersprachen. Variablen Referenzen Zuweisungen
Variablen Referenzen Zuweisungen Variablen Variablen dienen der Speicherung von Werten Name (name) bezeichnet die Variable im Programm Wert (value) ist das Datenelement, dass in der Variablen gespeichert
MehrEinheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen
Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik
MehrÜbungen zu Algorithmen
Institut für Informatik Universität Osnabrück, 08.11.2016 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/~ainf Lukas Kalbertodt, B.Sc. Testat bis 16.11.2016, 14:00 Uhr Nils Haldenwang, M.Sc. Übungen
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
Mehr3. Wahrheitswerte. Boolesche Funktionen; der Typ bool; logische und relationale Operatoren; Kurzschlussauswertung; Assertions und Konstanten
114 3. Wahrheitswerte Boolesche Funktionen; der Typ bool; logische und relationale Operatoren; Kurzschlussauswertung; Assertions und Konstanten Wo wollen wir hin? 115 int a; std::cin >> a; if (a % 2 ==
MehrDie Zahl ist: (z 2, z 1, z 0 ) (z ) : 7 = 0 Rest z 2
Übungen zur Vorlesung Technische Informatik I, SS Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 4 Rechnerarithmetik Aufgabe : a) Bestimmen Sie die Darstellung der Zahl 3 zur Basis 7. 3 = 7 (Sehen Sie
MehrMultiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79
Multiplikation Grundlagen der Rechnerarchitektur Logik und Arithmetik 79 Multiplikation nach der Schulmethode Gegeben seien die Binärzahlen A und B. Was ist a * b? Beispiel: Multiplikand A: 1 1 0 1 0 Multiplikator
Mehr3. Java - Sprachkonstrukte I
Namen und Bezeichner Ein Programm (also Klasse) braucht einen Namen 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken,
MehrGrunddatentypen, Ausdrücke und Variablen
Grunddatentypen, Ausdrücke und Variablen Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Vorlesung heute: Grunddatentypen Ausdrücke Variablen
MehrInformatik I Übung, Woche 41
Giuseppe Accaputo 8. Oktober, 2015 Plan für heute 1. Fragen & Nachbesprechung Übung 3 2. Zusammenfassung der bisherigen Vorlesungsslides 3. Tipps zur Übung 4 Informatik 1 (D-BAUG) Giuseppe Accaputo 2 Nachbesprechung
MehrCelsius to Fahrenheit. Ganze Zahlen. Assoziativität und Präzedenz. 9 * celsius / Assoziativität und Präzedenz. Assoziativität und Präzedenz
Celsius t Fahrenheit Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatren // Prgram: fahrenheit.cpp // Cnvert temperatures frm Celsius t Fahrenheit. #include
MehrKapitel 05. Datentypen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 05 Datentypen Inhalt des 5. Kapitels Datentypen 5.1 Einleitung 5.2 Eingebaute Datentypen Übersicht Die Datentypen char, float und double Standardwerte Operatoren Konversion / Type-Cast Datentyp
MehrJava Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
MehrInhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen
3 Zahlendarstellung - Zahlensysteme - b-adische Darstellung natürlicher Zahlen - Komplementbildung - Darstellung ganzer und reeller Zahlen Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen......
Mehr, 2014W Übungstermin: Fr.,
VU Technische Grundlagen der Informatik Übung 1: Zahlendarstellungen, Numerik 183.579, 2014W Übungstermin: Fr., 17.10.2014 Allgemeine Hinweise: Versuchen Sie beim Lösen der Beispiele keine elektronischen
MehrVariablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15
Variablen CoMa-Übung VIII TU Berlin 4.12.2013 CoMa-Übung VIII (TU Berlin) Variablen 4.12.2013 1 / 15 Themen der Übung 1 Typanpassungen 2 Operatoren 3 Variablen-Gültigkeit CoMa-Übung VIII (TU Berlin) Variablen
MehrÜbung Praktische Informatik II
Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 06.03.09 2-1 Heutige große Übung Allgemeines
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die
MehrHaDePrak WS 05/ Versuch
HaDePrak WS 05/06 10. Versuch 1 Das IEEE-Format Das Ziel dieser letzten Übung ist es, ein Fließkommapaket für die DLXzu implementieren. Der Einfachheit halber vernachlässigen wir hier im Praktikum jeglichen
MehrWH: Arithmetik: Floating Point
WH: Arithmetik: Floating Point Elmar Langetepe University of Bonn Robuste Implementierungen Floating Point Arithmetik Bonn 06 1 Real RAM Robuste Implementierungen Floating Point Arithmetik Bonn 06 2 Real
MehrKapitel 5: Daten und Operationen
Kapitel 5: Daten und Operationen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2007 Folien nach einer Vorlage von H.-Peter
MehrGrundlagen der Technischen Informatik. 4. Übung
Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit 4. Übungsblatt Themen Aufgabe 1: Aufgabe 2: Aufgabe 3: Aufgabe 4: IEEE Format Zahlenumwandlung
Mehr2.1.2 Gleitkommazahlen
.1. Gleitkommazahlen Überblick: Gleitkommazahlen Gleitkommadarstellung Arithmetische Operationen auf Gleitkommazahlen mit fester Anzahl von Mantissen- und Exponentenbits Insbesondere Rundungsproblematik:
Mehr, 2015S Übungstermin: Mi.,
VU Grundlagen digitaler Systeme Übung 1: Zahlendarstellungen, Numerik 183.580, 2015S Übungstermin: Mi., 18.03.2015 Allgemeine Hinweise: Versuchen Sie beim Lösen der Beispiele keine elektronischen Hilfsmittel
MehrEinstieg in die Informatik mit Java
1 / 29 Einstieg in die Informatik mit Java Weitere Ausdrücke Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 29 1 Überblick 2 Kombinierte Zuweisungsoperatoren 3 Vergleichsoperatoren
MehrVorlesung Programmieren
Vorlesung Programmieren 2. Typen und Variablen 27.10./03.11.2014 Prof. Dr. Ralf H. Reussner Version 1.2 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Unser erstes Java Programm Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 39 Hello World!
MehrWertebereiche, Overflow und Underflow
Wertebereiche, Overflow und Underflow s exponent fraction 1 Bit 8 Bits 23 Bits Kleinste darstellbare nicht negative Zahl annähernd 2,0 * 10 38 Größte darstellbare Zahl annähernd 2,0 * 10 38 Was, wenn die
MehrRückblick. Zahlendarstellung zu einer beliebigen Basis b. Umwandlung zwischen Zahlendarstellung (214) 5 = (278) 10 =(?) 8
Rückblick Zahlendarstellung zu einer beliebigen Basis b (214) 5 = Umwandlung zwischen Zahlendarstellung (278) 10 =(?) 8 25 Rückblick Schnellere Umwandlung zwischen Binärdarstellung und Hexadezimaldarstellung
MehrInformatik I Übung, Woche 41
Giuseppe Accaputo 9. Oktober, 2014 Plan für heute 1. Fragen & Nachbesprechung Übung 3 2. Zusammenfassung der bisherigen Vorlesungsslides 3. Tipps zur Übung 4 Informatik 1 (D-BAUG) Giuseppe Accaputo 2 Nachbesprechung
Mehr21.10.2013. Vorlesung Programmieren. Agenda. Dezimalsystem. Zahlendarstellung. Zahlendarstellung. Oder: wie rechnen Computer?
Vorlesung Programmieren Zahlendarstellung Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Agenda Zahlendarstellung Oder: wie rechnen
MehrAbschnitt 2: Daten und Algorithmen
Abschnitt 2: Daten und Algorithmen 2. Daten und Algorithmen 2.1 Zeichenreihen 2.2 Datendarstellung durch Zeichenreihen 2.3 Syntaxdefinitionen 2.4 Algorithmen 2 Daten und Algorithmen Einf. Progr. (WS 08/09)
MehrComputerarithmetik ( )
Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur
Mehr2 Darstellung von Zahlen und Zeichen
2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f
MehrGrundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke
Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke 1 Links Stellenwertsysteme mit Links zu Zahlensysteme: http://de.wikipedia.org/wiki/stellenwertsystem ASCII-Code: http://de.wikipedia.org/wiki/ascii
MehrTutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen
MehrJava für Anfänger Teil 3: Integer-Typen. Programmierkurs Manfred Jackel
Java für Anfänger Teil 3: Integer-Typen Programmierkurs 11.-15.10.2010 Manfred Jackel 1 Prozedurales Programmieren Welche Anweisungen kann man im Rumpf einer Methode benutzen? public static void main (String[]
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 8. Vorlesung Inhalt Gleitkomma-Darstellung Normalisierte Darstellung Denormalisierte Darstellung Rechnerarchitekturen Von Neumann-Architektur Harvard-Architektur Rechenwerk (ALU)
MehrGrundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik
Grundlagen der Rechnerarchitektur Binäre Logik und Arithmetik Übersicht Logische Operationen Addition, Subtraktion und negative Zahlen Logische Bausteine Darstellung von Algorithmen Multiplikation Division
MehrBasisinformationstechnologie I
Basisinformationstechnologie I Wintersemester 2012/13 24. Oktober 2012 Grundlagen III Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners // jan.wieners@uni-koeln.de
Mehr3. Datentypen, Ausdrücke und Operatoren
3. Datentypen, Ausdrücke und Operatoren Programm muß i.a. Daten zwischenspeichern Speicherplatz muß bereitgestellt werden, der ansprechbar, reserviert ist Ablegen & Wiederfinden in höheren Programmiersprachen
MehrAlgorithmen & Programmierung. Ausdrücke & Operatoren (1)
Algorithmen & Programmierung Ausdrücke & Operatoren (1) Ausdrücke Was ist ein Ausdruck? Literal Variable Funktionsaufruf Ausdruck, der durch Anwendung eines einstelligen (unären) Operators auf einen Ausdruck
Mehr2.5 Primitive Datentypen
2.5 Primitive Datentypen Wir unterscheiden 5 primitive Datentypen: ganze Zahlen -2, -1, -0, -1, -2,... reelle Zahlen 0.3, 0.3333..., π, 2.7 10 4 Zeichen a, b, c,... Zeichenreihen "Hello World", "TIFI",
MehrGliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik
Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.
MehrOperatoren und Ausdrücke
Operatoren und Ausdrücke Zuweisungsoperator Arithmetische Operatoren Vergleichsoperatoren Logische Operatoren und Ausdrücke Implizite Typ-Umwandlung Rangordnung der Operatoren / Reihenfolge der Auswertung
MehrGleitkommaarithmetik. Erhöhen der Genauigkeit. Grundlagen der Rechnerarchitektur Logik und Arithmetik 124
Gleitkommaarithmetik Erhöhen der Genauigkeit Grundlagen der Rechnerarchitektur Logik und Arithmetik 124 Guard Bit, Round Bit und Sticky Bit Bei der Darstellung der Addition und Multiplikation haben wir
MehrProgrammieren I. Operatoren und Ausdrücke Heusch 6.2 Ratz Institut für Angewandte Informatik
Programmieren I Operatoren und Ausdrücke Heusch 6.2 Ratz 4.4.2 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Ausdrücke, Arten von Operatoren Ein Ausdruck ist eine Folge von Operatoren
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
Mehr4. Datentypen. Einleitung Eingebaute Datentypen. Konversion / Type-Cast. Operatoren. Übersicht Die Datentypen char, float und double Standardwerte
4. Datentypen Einleitung Eingebaute Datentypen Übersicht Die Datentypen char, float und double Standardwerte Konversion / Type-Cast Datentyp von Literalen Operatoren Ausdrücke Allgemeine Informatik 2 SS09
MehrDie Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein
Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache Dr. Beatrice Amrhein Überblick Speicherverwaltung: Stack und Heap Ein- und Ausgabe über die Console Variablen und Operatoren Parameter
MehrC-Programmierung: Ausdrücke und Operatoren#Division.2F
C-Programmierung: Ausdrücke und Operatoren#Division.2F http://de.wikibooks.org/wiki/c-programmierung:_ausdrücke_und_operatoren#division_.2f This Book Is Generated By Wb2PDF using RenderX XEP, XML to PDF
Mehr2 Einfache Rechnungen
2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,
MehrPrimitive Datentypen
Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.
Mehr5 Zahlenformate und deren Grenzen
1 5 Zahlenformate und deren Grenzen 5.1 Erinnerung B-adische Zahlendarstellung Stellenwertsystem: Jede Ziffer hat ihren Wert, und die Stelle der Ziffer in der Zahl modifiziert den Wert. 745 = 7 100 + 4
MehrKapitel 5: Darstellung von Daten im Rechner
Kapitel 5: Darstellung von Daten im Rechner Kapitel 5 Darstellung von Daten im Rechner und Rechnerarithmetik Literatur: Oberschelp/Vossen, Kapitel 5 Kapitel 5: Darstellung von Daten im Rechner Seite Kapitel
MehrKapitel 3: Variablen
Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber
Mehr620.900 Propädeutikum zur Programmierung
620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Lösung der Aufgaben (1/2) Lösung Aufgabe
MehrII. Grundlagen der Programmierung
II. Grundlagen der Programmierung II.1. Zahlenssteme und elementare Logik 1.1. Zahlenssteme 1.1.1. Ganze Zahlen Ganze Zahlen werden im Dezimalsstem als Folge von Ziffern 0, 1,..., 9 dargestellt, z.b. 123
Mehr1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:
Zahlensysteme. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis darstellen: n n n n z a a... a a a Dabei sind die Koeffizienten a, a, a,... aus der
MehrInformationsmenge. Maßeinheit: 1 Bit. 1 Byte. Umrechnungen: Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit
Informationsmenge Maßeinheit: 1 Bit Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit 1 Byte Zusammenfassung von 8 Bit, kleinste Speichereinheit im Computer, liefert
MehrJava Einführung Operatoren Kapitel 2 und 3
Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrProblem: Keine Integers in JavaCard. ToDo: Rechnen mit Bytes und Shorts
Kapitel 6: Arithmetik in JavaCard Problem: Keine Integers in JavaCard ToDo: Rechnen mit Bytes und Shorts Java SmartCards, Kap. 6 (1/20) Hex-Notation 1 Byte = 8 Bit, b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 0101
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 3. Vorlesung Inhalt Zahlensysteme Binäre Darstellung von Integer-Zahlen Vorzeichen-Betrag Binary Offset 1er-Komplement 2er-Komplement Addition und Subtraktion binär dargestellter
MehrEinführung in die Informatik I
Einführung in die Informatik I Arithmetische und bitweise Operatoren im Binärsystem Prof. Dr. Nikolaus Wulff Operationen mit Binärzahlen Beim Rechnen mit Binärzahlen gibt es die ganz normalen arithmetischen
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 3 AM 13./14.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrGrundlagen der Technischen Informatik. 4. Übung
Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit 4. Übungsblatt Themen Aufgabe 1: Aufgabe 2: Aufgabe 3: Aufgabe 4: Aufgabe 5: Aufgabe 6: +/-/*
Mehr4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen
. Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit
MehrInformatik I (D-MAVT)
Informatik I (D-MAVT) Übungsstunde 2 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Besprechung der Vorlesung Vorbesprechung Übung 2 Variablen + Scopes Zahlensysteme Bits&Bytes Datentypen
MehrEinführung in die Informatik
Einführung in die Informatik Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338 FB
MehrDas Rechnermodell - Funktion
Darstellung von Zahlen und Zeichen im Rechner Darstellung von Zeichen ASCII-Kodierung Zahlensysteme Dezimalsystem, Dualsystem, Hexadezimalsystem Darstellung von Zahlen im Rechner Natürliche Zahlen Ganze
Mehr2 ARITHM. UND LOG. AUSDRÜCKE ZAHLEN
2 ARITHM. UND LOG. AUSDRÜCKE ZAHLEN Leitidee: Die Darstellung von Zahlen durch eine feste Zahl von Bits erfordert eine Reihe von Kompromissen Ganzzahl- oder Gleitpunktarithmetik? Dual- und Hexadezimalzahlsystem
MehrZahlensysteme und Kodes. Prof. Metzler
Zahlensysteme und Kodes 1 Zahlensysteme und Kodes Alle üblichen Zahlensysteme sind sogenannte Stellenwert-Systeme, bei denen jede Stelle innerhalb einer Zahl ein besonderer Vervielfachungsfaktor in Form
MehrZum Nachdenken. Wenn die Zahl (123) hat, was könnte dann (123,45) 10
TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Zum Nachdenken Wenn die Zahl (123) 10 den Wert 1. 10 2 +2. 10 1 +3. 10 0 hat, was könnte dann (123,45) 10 bedeuten? Wenn Sie beliebige reelle Zahlenwerte
MehrEinführung in die Informatik. Processing Numbers. Motivation. Primitive Datentypen. Operatoren versus Methoden
Motivation Einführung in die Informatik Processing Numbers Wolfram Burgard Computer bzw. Rechenmaschinen wurden ursprünglich gebaut, um schnell und zuverlässig mit Zahlen zu rechnen. Erste Anwendungen
MehrEinführung in die Informatik. Processing Numbers
Einführung in die Informatik Processing Numbers Wolfram Burgard 5/1 Motivation Computer bzw. Rechenmaschinen wurden ursprünglich gebaut, um schnell und zuverlässig mit Zahlen zu rechnen. Erste Anwendungen
MehrVorlesung Programmieren
Vorlesung Programmieren 2. Typen und Variablen 28.10.2015 Prof. Dr. Ralf H. Reussner Version 1.2 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD),
MehrKapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1
Kapitel 2: Python: Ausdrücke und Typen Grundlagen der Programmierung 1 Holger Karl Wintersemester 2016/2017 Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen u.ä. 2
MehrJAVA-Datentypen und deren Wertebereich
Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).
MehrGrundlagen der Technischen Informatik. 4. Übung
Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit 4. Übungsblatt Themen Aufgabe 1: Aufgabe 2: Aufgabe 3: Aufgabe 4: IEEE Format Zahlenumwandlung
MehrEinstieg in die Informatik mit Java
Vorlesung vom 5.11.07, Weitere Ausdrücke Übersicht 1 Vergleichsoperatoren 2 Kombinierte Zuweisungsoperatoren 3 Logische Operatoren 4 Weitere Operatoren 5 Klassifizierung von Operatoren 6 Typumwandlungen
MehrLösung 2. Übungsblatt
Fakultät Informatik, Technische Informatik, Professur für Mikrorechner Lösung 2. Übungsblatt Bildung von Gleitkommazahlen nach IEEE 754 und arithmetische Operationen mit Binärzahlen ANSI/IEEE 754-1985
MehrGrundlagen der Informatik I ATI / MB
Grundlagen der Informatik I ATI / MB Dipl.-Inf. Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 FB Automatisierung / Informatik: Grundlagen
MehrZwischenklausur Informatik, WS 2014/15
Zwischenklausur Informatik, WS /5.. Zugelassene Hilfsmittel: außer Stift und Papier keine Hinweis: Geben Sie bei allen Berechnungen den vollständigen Rechenweg mit an! Alle Aufgaben/Fragen sind unmittelbar
Mehr