3. Ganze Zahlen int unsigned int

Größe: px
Ab Seite anzeigen:

Download "3. Ganze Zahlen int unsigned int"

Transkript

1 Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int

2 Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit. #include <iostream> int main() { // Input std::cout << "Temperature in degrees Celsius =? "; int celsius; std::cin >> celsius; } // Computation and output std::cout << celsius << " degrees Celsius are " << 9 * celsius / << " degrees Fahrenheit.\n"; return 0; 111

3 Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit. #include <iostream> int main() { // Input std::cout << "Temperature in degrees Celsius =? "; int celsius; std::cin >> celsius; } // Computation and output std::cout << celsius << " degrees Celsius are " << 9 * celsius / << " degrees Fahrenheit.\n"; return 0; 111

4 9 * celsius / Arithmetischer Ausdruck,

5 9 * celsius / Arithmetischer Ausdruck, drei Literale, eine Variable, drei Operatorsymbole

6 9 * celsius / Arithmetischer Ausdruck, drei Literale, eine Variable, drei Operatorsymbole

7 9 * celsius / Arithmetischer Ausdruck, drei Literale, eine Variable, drei Operatorsymbole

8 9 * celsius / Arithmetischer Ausdruck, drei Literale, eine Variable, drei Operatorsymbole Wie ist der Ausdruck geklammert?

9 Präzedenz 113 Punkt vor Strichrechnung 9 * celsius / bedeutet (9 * celsius / 5) + 32

10 Präzedenz 113 Regel 1: Präzedenz Multiplikative Operatoren (*, /, %) haben höhere Präzedenz ("binden stärker") als additive Operatoren (+, -)

11 Assoziativität 114 Von links nach rechts 9 * celsius / bedeutet ((9 * celsius) / 5) + 32

12 Assoziativität 114 Regel 2: Assoziativität Arithmetische Operatoren (*, /, %, +, -) sind linksassoziativ: bei gleicher Präzedenz erfolgt Auswertung von links nach rechts

13 Stelligkeit 115 Regel 3: Stelligkeit Unäre Operatoren +, - vor binären +, bedeutet (-3) - 4

14 Klammerung 116 Jeder Ausdruck kann mit Hilfe der Assoziativitäten Präzedenzen Stelligkeiten der beteiligten Operatoren eindeutig geklammert werden.

15 Ausdrucksbäume 117 Klammerung ergibt Ausdrucksbaum 9 * celsius / celsius 5 32 * / +

16 Ausdrucksbäume 117 Klammerung ergibt Ausdrucksbaum (9 * celsius) / celsius 5 32 * / +

17 Ausdrucksbäume 117 Klammerung ergibt Ausdrucksbaum ((9 * celsius) / 5) celsius 5 32 * / +

18 Ausdrucksbäume 117 Klammerung ergibt Ausdrucksbaum (((9 * celsius) / 5) + 32) 9 celsius 5 32 * / +

19 Auswertungsreihenfolge 118 "Von oben nach unten" im Ausdrucksbaum 9 * celsius / celsius 5 32 * / +

20 Auswertungsreihenfolge 118 "Von oben nach unten" im Ausdrucksbaum 9 * celsius / celsius 5 32 * / +

21 Auswertungsreihenfolge 118 "Von oben nach unten" im Ausdrucksbaum 9 * celsius / celsius 5 32 * / +

22 Auswertungsreihenfolge 118 "Von oben nach unten" im Ausdrucksbaum 9 * celsius / celsius 5 32 * / +

23 Auswertungsreihenfolge 118 "Von oben nach unten" im Ausdrucksbaum 9 * celsius / celsius 5 32 * / +

24 Auswertungsreihenfolge 118 "Von oben nach unten" im Ausdrucksbaum 9 * celsius / celsius 5 32 * / +

25 Auswertungsreihenfolge 118 "Von oben nach unten" im Ausdrucksbaum 9 * celsius / celsius 5 32 * / +

26 Auswertungsreihenfolge 118 "Von oben nach unten" im Ausdrucksbaum 9 * celsius / celsius 5 32 * / +

27 Auswertungsreihenfolge 119 Reihenfolge nicht eindeutig bestimmt: 9 * celsius / celsius 5 32 * / +

28 Auswertungsreihenfolge 119 Reihenfolge nicht eindeutig bestimmt: 9 * celsius / celsius 5 32 * / +

29 Auswertungsreihenfolge 119 Reihenfolge nicht eindeutig bestimmt: 9 * celsius / celsius 5 32 * / +

30 Auswertungsreihenfolge 119 Reihenfolge nicht eindeutig bestimmt: 9 * celsius / celsius 5 32 * / +

31 Auswertungsreihenfolge 119 Reihenfolge nicht eindeutig bestimmt: 9 * celsius / celsius 5 32 * / +

32 Auswertungsreihenfolge 119 Reihenfolge nicht eindeutig bestimmt: 9 * celsius / celsius 5 32 * / +

33 Auswertungsreihenfolge 119 Reihenfolge nicht eindeutig bestimmt: 9 * celsius / celsius 5 32 * / +

34 Auswertungsreihenfolge 119 Reihenfolge nicht eindeutig bestimmt: 9 * celsius / celsius 5 32 * / +

35 Ausdrucksbäume Notation 120 Üblichere Notation: Wurzel oben 9 * celsius / / 32 * 5 9 celsius

36 Auswertungsreihenfolge formaler 121 Gültige Reihenfolge: Jeder Knoten wird erst nach seinen Kindern E ausgewertet. K 1 K 2

37 Auswertungsreihenfolge formaler 121 Gültige Reihenfolge: Jeder Knoten wird erst nach seinen Kindern ausgewertet. E K 1 K 2 C++: anzuwendende gültige Reihenfolge nicht spezifiziert.

38 Auswertungsreihenfolge formaler 121 Gültige Reihenfolge: Jeder Knoten wird erst nach seinen Kindern ausgewertet. E K 1 K 2 C++: anzuwendende gültige Reihenfolge nicht spezifiziert.

39 Auswertungsreihenfolge formaler 121 Gültige Reihenfolge: Jeder Knoten wird erst nach seinen Kindern ausgewertet. E K 1 K 2 C++: anzuwendende gültige Reihenfolge nicht spezifiziert.

40 Auswertungsreihenfolge formaler 121 Gültige Reihenfolge: Jeder Knoten wird erst nach seinen Kindern ausgewertet. E K 1 K 2 C++: anzuwendende gültige Reihenfolge nicht spezifiziert.

41 Auswertungsreihenfolge formaler 121 E K 1 K 2 Reihenfolge nicht spezifiziert. C++: anzuwendende gültige "Guter Ausdruck": jede gültige Reihenfolge führt zum gleichen Ergebnis.

42 Auswertungsreihenfolge formaler 121 E K 1 K 2 Reihenfolge nicht spezifiziert. C++: anzuwendende gültige Beispiel für "schlechten Ausdruck": (a+b)*(a++)

43 Auswertungsreihenfolge 122 Richtlinie Vermeide das Verändern von Variablen, welche im selben Ausdruck noch einmal verwendet werden!

44 Arithmetische Operatoren 123 Symbol Stelligkeit Präzedenz Assoziativität Unäres rechts Negation rechts Multiplikation * 2 14 links Division / 2 14 links Modulus % 2 14 links Addition links Subtraktion links

45 Arithmetische Operatoren 123 Symbol Stelligkeit Präzedenz Assoziativität Unäres rechts Negation rechts Multiplikation * 2 14 links -a : R-Wert R-Wert Division / 2 14 links Modulus % 2 14 links Addition links Subtraktion links

46 Arithmetische Operatoren 123 Symbol Stelligkeit Präzedenz Assoziativität Unäres rechts Negation rechts Multiplikation * 2 14 links Division / 2 14 links Modulus % 2 14 links Addition links Subtraktion links

47 Arithmetische Operatoren 123 Symbol Stelligkeit Präzedenz Assoziativität Unäres rechts Negation rechts Multiplikation * 2 14 links a+b : R-Wert R-Wert R-Wert Division / 2 14 links Modulus % 2 14 links Addition links Subtraktion links

48 Arithmetische Operatoren 123 Symbol Stelligkeit Präzedenz Assoziativität Unäres rechts Negation rechts Multiplikation * 2 14 links -a+b+c = ((-a) + b) + c R-Wert R-Wert R-Wert R-Wert Division / 2 14 links Modulus % 2 14 links Addition links Subtraktion links

49 Arithmetische Operatoren 123 Symbol Stelligkeit Präzedenz Assoziativität Unäres rechts Negation rechts Multiplikation * 2 14 links -a+b+c = ((-a) + b) + c R-Wert R-Wert R-Wert R-Wert Division / 2 14 links Modulus % 2 14 links Addition links Subtraktion links

50 Arithmetische Operatoren 123 Symbol Stelligkeit Präzedenz Assoziativität Unäres rechts Negation rechts Multiplikation * 2 14 links -a+b+c = ((-a) + b) + c R-Wert R-Wert R-Wert R-Wert Division / 2 14 links Modulus % 2 14 links Addition links Subtraktion links

51 Zuweisungsausdruck nun genauer 124 Bereits bekannt: a = b bedeutet Zuweisung von b (R-Wert) an a (L-Wert). Rückgabe: L-Wert

52 Zuweisungsausdruck nun genauer 124 Bereits bekannt: a = b bedeutet Zuweisung von b (R-Wert) an a (L-Wert). Rückgabe: L-Wert Was bedeutet a = b = c?

53 Zuweisungsausdruck nun genauer 124 Bereits bekannt: a = b bedeutet Zuweisung von b (R-Wert) an a (L-Wert). Rückgabe: L-Wert Was bedeutet a = b = c? Antwort: Zuweisung rechtsassoziativ, also a = b = c a = (b = c)

54 Zuweisungsausdruck nun genauer 124 a = b = c a = (b = c) Beispiel Mehrfachzuweisung: a = b = 0 = b=0; a=0

55 Division und Modulus 125 Operator / realisiert ganzzahlige Division 5 / 2 hat Wert 2

56 Division und Modulus 125 Operator / realisiert ganzzahlige Division 5 / 2 hat Wert 2 In fahrenheit.cpp 9 * celsius / degrees Celsius are 59 degrees Fahrenheit

57 Division und Modulus 125 In fahrenheit.cpp 9 * celsius / degrees Celsius are 59 degrees Fahrenheit

58 Division und Modulus 125 In fahrenheit.cpp 9 * celsius / degrees Celsius are 59 degrees Fahrenheit Mathematisch äquivalent... 9 / 5 * celsius + 32

59 Division und Modulus 125 In fahrenheit.cpp 9 * celsius / degrees Celsius are 59 degrees Fahrenheit Mathematisch äquivalent... 1 * celsius + 32

60 Division und Modulus 125 In fahrenheit.cpp 9 * celsius / degrees Celsius are 59 degrees Fahrenheit Mathematisch äquivalent

61 Division und Modulus 125 In fahrenheit.cpp 9 * celsius / degrees Celsius are 59 degrees Fahrenheit Mathematisch äquivalent... 47

62 Division und Modulus 125 In fahrenheit.cpp 9 * celsius / degrees Celsius are 59 degrees Fahrenheit Mathematisch äquivalent... aber nicht in C++! 9 / 5 * celsius degrees Celsius are 47 degrees Fahrenheit

63 Division und Modulus 126 Modulus-Operator berechnet Rest der ganzzahligen Division 5 / 2 hat Wert 2, 5 % 2 hat Wert 1.

64 Division und Modulus 126 Modulus-Operator berechnet Rest der ganzzahligen Division 5 / 2 hat Wert 2, 5 % 2 hat Wert 1. Es gilt immer: (a / b) * b + a % b hat den Wert von a.

65 127 Inkrement und Dekrement Erhöhen / Erniedrigen einer Zahl um 1 ist eine häufige Operation geht für einen L-Wert so: expr = expr + 1.

66 Inkrement und Dekrement 127 expr = expr + 1. Nachteile

67 127 Inkrement und Dekrement expr = expr + 1. Nachteile relativ lang expr wird zweimal ausgewertet (Effekte!)

68 128 In-/Dekrement Operatoren Post-Inkrement expr++ Wert von expr wird um 1 erhöht, der alte Wert von expr wird (als R-Wert) zurückgegeben

69 128 In-/Dekrement Operatoren Prä-Inkrement ++expr Wert von expr wird um 1 erhöht, der neue Wert von expr wird (als L-Wert) zurückgegeben

70 In-/Dekrement Operatoren 128 Post-Dekrement expr-- Wert von expr wird um 1 verringert, der alte Wert von expr wird (als R-Wert) zurückgegeben

71 In-/Dekrement Operatoren 128 Prä-Dekrement --expr Wert von expr wird um 1 verringert, der neue Wert von expr wird (als L-Wert) zurückgegeben

72 In-/Dekrement Operatoren 130 Beispiel int a = 7; std::cout << ++a << "\n"; std::cout << a++ << "\n"; std::cout << a << "\n";

73 In-/Dekrement Operatoren 130 Beispiel int a = 7; std::cout << ++a << "\n"; // 8 std::cout << a++ << "\n"; std::cout << a << "\n";

74 In-/Dekrement Operatoren 130 Beispiel int a = 7; std::cout << ++a << "\n"; // 8 std::cout << a++ << "\n"; // 8 std::cout << a << "\n";

75 In-/Dekrement Operatoren 130 Beispiel int a = 7; std::cout << ++a << "\n"; // 8 std::cout << a++ << "\n"; // 8 std::cout << a << "\n"; // 9

76 C++ vs. ++C 132 Eigentlich sollte unsere Sprache ++C heissen, denn sie ist eine Weiterentwicklung der Sprache C,

77 C++ vs. ++C 132 Eigentlich sollte unsere Sprache ++C heissen, denn sie ist eine Weiterentwicklung der Sprache C, während C++ ja immer noch das alte C liefert.

78 Arithmetische Zuweisungen 133 a += b a = a + b

79 Arithmetische Zuweisungen 133 a += b a = a + b Analog für -, *, / und %

80 Binäre Zahlendarstellungen 135 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

81 Binäre Zahlendarstellungen 135 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

82 Binäre Zahlendarstellungen 135 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:

83 Binäre Zahlendarstellungen 135 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

84 Binäre Zahlendarstellungen 135 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.

85 Binäre Zahlendarstellungen 135 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)

86 Bina re Zahlen: Zahlen der Computer? Wahrheit: Computer rechnen mit Binärzahlen. 136

87 Bina re Zahlen: Zahlen der Computer? Klischee: Computer reden 0/1-Kauderwelsch. 137

88 Binäre Zahlen: Zahlen der Computer? 137 Klischee: Computer reden 0/1-Kauderwelsch.

89 Rechentricks Abschätzung der Grössenordnung von Zweierpotenzen 3 : 2 10 = 1024 = 1Ki = 4 (1024) 3 = 4Gi = 16Ei Dezimal vs. Binäre Einheiten: MB - Megabyte vs. MiB - Megabibyte (etc.) kilo (K, Ki) mega (M, Mi) giga (G, Gi) tera(t, Ti) peta(p, Pi) exa (E, Ei) 138

90 Rechentricks Abschätzung der Grössenordnung von Zweierpotenzen 3 : 2 10 = 1024 = 1Ki = 4 (1024) 3 = 4Gi = 16Ei Dezimal vs. Binäre Einheiten: MB - Megabyte vs. MiB - Megabibyte (etc.) kilo (K, Ki) mega (M, Mi) giga (G, Gi) tera(t, Ti) peta(p, Pi) exa (E, Ei) 138

91 Rechentricks Abschätzung der Grössenordnung von Zweierpotenzen 3 : 2 10 = 1024 = 1Ki = 4 (1024) 3 = 4Gi = 16Ei Dezimal vs. Binäre Einheiten: MB - Megabyte vs. MiB - Megabibyte (etc.) kilo (K, Ki) mega (M, Mi) giga (G, Gi) tera(t, Ti) peta(p, Pi) exa (E, Ei) 138

92 Hexadezimale Zahlen 139 Zahlen zur Basis 16. Darstellung h n h n 1... h 1 h 0 entspricht der Zahl h n 16 n + + h h 0. Schreibweise in C++: vorangestelltes 0x Beispiel: 0xff entspricht 255. Hex Nibbles hex bin dec a b c d e f

93 Wozu Hexadezimalzahlen? 140 Ein Hex-Nibble entspricht genau 4 Bits.

94 140 Wozu Hexadezimalzahlen? Ein Hex-Nibble entspricht genau 4 Bits. Kompakte Darstellung von Binärzahlen.

95 140 Wozu Hexadezimalzahlen? Ein Hex-Nibble entspricht genau 4 Bits. Kompakte Darstellung von Binärzahlen. 32-bit Zahlen: 0x xffffffff. 0x : höchstes Bit einer 32-bit Zahl gesetzt. 0xffffffff: alle Bits einer 32-bit Zahl gesetzt. 0x8a20aaf0 ist eine Addresse in den oberen 2G des 32-bit Addressraumes

96 140 Wozu Hexadezimalzahlen? Ein Hex-Nibble entspricht genau 4 Bits. Kompakte Darstellung von Binärzahlen. 32-bit Zahlen: 0x xffffffff. 0x : höchstes Bit einer 32-bit Zahl gesetzt. 0xffffffff: alle Bits einer 32-bit Zahl gesetzt. 0x8a20aaf0 ist eine Addresse in den oberen 2G des 32-bit Addressraumes

97 140 Wozu Hexadezimalzahlen? Ein Hex-Nibble entspricht genau 4 Bits. Kompakte Darstellung von Binärzahlen. 32-bit Zahlen: 0x xffffffff. 0x : höchstes Bit einer 32-bit Zahl gesetzt. 0xffffffff: alle Bits einer 32-bit Zahl gesetzt. 0x8a20aaf0 ist eine Addresse in den oberen 2G des 32-bit Addressraumes

98 140 Wozu Hexadezimalzahlen? Ein Hex-Nibble entspricht genau 4 Bits. Kompakte Darstellung von Binärzahlen. 32-bit Zahlen: 0x xffffffff. 0x : höchstes Bit einer 32-bit Zahl gesetzt. 0xffffffff: alle Bits einer 32-bit Zahl gesetzt. 0x8a20aaf0 ist eine Addresse in den oberen 2G des 32-bit Addressraumes

99 141 Beispiel: Hex-Farben #00FF00 r g b

100 141 Beispiel: Hex-Farben #FFFF00 r g b

101 141 Beispiel: Hex-Farben # r g b

102 141 Beispiel: Hex-Farben #FF0050 r g b

103 Wozu Hexadezimalzahlen? 142 Für Programmierer und Techniker (Bedienungsanleitung Schachcomputer Mephisto II, 1981)

104 Wozu Hexadezimalzahlen? 143 Die NZZ hätte viel Platz sparen können...

105 Wertebereich des Typs int 144 // Program: limits.cpp // Output the smallest and the largest value of type int. #include <iostream> #include <limits> int main() { std::cout << "Minimum int value is " << std::numeric_limits<int>::min() << ".\n" << "Maximum int value is " << std::numeric_limits<int>::max() << ".\n"; return 0; }

106 Wertebereich des Typs int 144 // Program: limits.cpp // Output the smallest and the largest value of type int. #include <iostream> #include <limits> int main() { std::cout << "Minimum int value is " << std::numeric_limits<int>::min() << ".\n" << "Maximum int value is " << std::numeric_limits<int>::max() << ".\n"; return 0; } Zum Beispiel Minimum int value is Maximum int value is

107 Wertebereich des Typs int // Program: limits.cpp // Output the smallest and the largest value of type int. #include <iostream> #include <limits> int main() { std::cout << "Minimum int value is " << std::numeric_limits<int>::min() << ".\n" << "Maximum int value is " << std::numeric_limits<int>::max() << ".\n"; return 0; } Zum Beispiel Minimum int value is Maximum int value is Woher kommen diese Zahlen? 144

108 Wertebereich des Typs int 145 Repräsentation mit B Bits. Wertebereich { 2 B 1,..., 1, 0, 1,..., 2 B 1 2, 2 B 1 1}

109 Wertebereich des Typs int 145 Repräsentation mit B Bits. Wertebereich { 2 B 1,..., 1, 0, 1,..., 2 B 1 2, 2 B 1 1} Auf den meisten Plattformen B = 32 Woher kommt gerade diese Aufteilung?

110 Wertebereich des Typs int 145 Repräsentation mit B Bits. Wertebereich { 2 B 1,..., 1, 0, 1,..., 2 B 1 2, 2 B 1 1} Für den Typ int garantiert C++ B 16 Woher kommt gerade diese Aufteilung?

111 146 Überlauf und Unterlauf Arithmetische Operationen (+,-,*) können aus dem Wertebereich herausführen. Ergebnisse können inkorrekt sein. power8.cpp: 15 8 = power20.cpp: 3 20 = Es gibt keine Fehlermeldung!

112 147 Der Typ unsigned int Wertebereich {0, 1,..., 2 B 1} Alle arithmetischen Operationen gibt es auch für unsigned int. Literale: 1u, 17u...

113 148 Gemischte Ausdrücke Operatoren können Operanden verschiedener Typen haben (z.b. int und unsigned int) u Solche gemischten Ausdrücke sind vom allgemeineren Typ unsigned int. int-operanden werden konvertiert nach unsigned int.

114 Konversion 149 int Wert Vorzeichen unsigned int Wert x 0 x x < 0 x + 2 B

115 Konversion 149 int Wert Vorzeichen unsigned int Wert x 0 x x < 0 x + 2 B Bei Zweierkomplementdarstellung passiert dabei intern gar nichts

116 Rechnen mit Binärzahlen (4 Stellen) 152 Einfache Addition

117 Rechnen mit Binärzahlen (4 Stellen) 152 Einfache Subtraktion

118 Rechnen mit Binärzahlen (4 Stellen) 153 Addition mit Überlauf (1)0000

119 Rechnen mit Binärzahlen (4 Stellen) 153 Negative Zahlen? ( 5)???? 0 (1)0000

120 Rechnen mit Binärzahlen (4 Stellen) 154 Einfacher: ( 1) (1)0000

121 Rechnen mit Binärzahlen (4 Stellen) 154 Nutzen das aus: ? +????

122 Rechnen mit Binärzahlen (4 Stellen) 155 Invertieren! ( 4) = 2 B 1

123 Rechnen mit Binärzahlen (4 Stellen) 155 a a +( a 1) ā = 2 B 1

124 Rechnen mit Binärzahlen (4 Stellen) 156 Negation: Inversion und Addition von 1 a = ā + 1

125 Rechnen mit Binärzahlen (4 Stellen) 156 Wrap-around Semantik (Rechnen modulo 2 B ) a = 2 B a

126 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) 157

127 Negative Zahlen (3 Stellen) 158 a a

128 Negative Zahlen (3 Stellen) 158 a a

129 Negative Zahlen (3 Stellen) 158 a a

130 Negative Zahlen (3 Stellen) 158 a a

131 Negative Zahlen (3 Stellen) 158 a a

132 Negative Zahlen (3 Stellen) 158 a a

133 Negative Zahlen (3 Stellen) 158 a a

134 Negative Zahlen (3 Stellen) a a Das höchste Bit entscheidet über das Vorzeichen. 158

2. Ganze Zahlen int unsigned int

2. 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

Mehr

2. Ganze Zahlen. Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int

2. 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

Mehr

1. Ganze Zahlen. 9 * celsius / Celsius to Fahrenheit. (9 * celsius / 5) + 32

1. 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

Mehr

Ganze 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 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.

Mehr

Ganze 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 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.

Mehr

Celsius to Fahrenheit. Ganze Zahlen. Assoziativität und Präzedenz. 9 * celsius / Assoziativität und Präzedenz. Assoziativität und Präzedenz

Celsius 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

Mehr

3. Java - Sprachkonstrukte I

3. 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,

Mehr

Richtig Rechnen. // Program: fahrenheit.c // Convert temperatures from Celsius to Fahrenheit.

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

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Ausdrücke Übersicht 1 Die wichtigsten arithmetischen Ausdrücke Arithmetische Operatoren Inkrement und Dekrementoperatoren Zuweisungsoperator Mathematische Standardfunktionen Vergleichsoperatoren

Mehr

Zahlensysteme und Kodes. Prof. Metzler

Zahlensysteme 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

Mehr

Basisinformationstechnologie I

Basisinformationstechnologie 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

Mehr

Das erste C++ Programm

Das erste C++ Programm Das erste C++ Programm // Program: power8.c // Raise a number to the eighth power. #include int main() { // input std::cout > a; // computation int

Mehr

Operatoren und Ausdrücke

Operatoren und Ausdrücke Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Überblick 1 2 / 11 Motivation Es gibt eine Reihe

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Was sind Operatoren Ein Operator ist eine in die Programmiersprache eingebaute Funktion, die

Mehr

Algorithmen & Programmierung. Ausdrücke & Operatoren (1)

Algorithmen & 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

Mehr

Kapitel 4: Elementare Konzepte von Programmiersprachen. Variablen Referenzen Zuweisungen

Kapitel 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

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16 Kapitel 5 Arithmetische Operatoren Seite 1 von 16 Arithmetische Operatoren - Man unterscheidet unäre und binäre Operatoren. - Je nachdem, ob sie auf einen Operanden wirken, oder eine Verknüpfung zweier

Mehr

Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik

Grundlagen 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

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java 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

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15

Variablen. 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

5.3 Auswertung von Ausdrücken

5.3 Auswertung von Ausdrücken 5.3 Auswertung von Ausdrücken Funktionen in Java bekommen Parameter/Argumente als Input, und liefern als Output den Wert eines vorbestimmten Typs. Zum Beispiel könnte man eine Funktion i n t min ( i n

Mehr

3. Wahrheitswerte. Boolesche Funktionen; der Typ bool; logische und relationale Operatoren; Kurzschlussauswertung; Assertions und Konstanten

3. 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 ==

Mehr

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016 Musterlösung 1 Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016 Hinweis: Die folgenden Aufgaben erheben nicht den Anspruch, eine tiefergehende Kenntnis zu vermitteln; sie sollen lediglich den

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

2 ARITHM. UND LOG. AUSDRÜCKE ZAHLEN

2 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

Mehr

1. 4-Bit Binärzahlen ohne Vorzeichen 2. 4-Bit Binärzahlen mit Vorzeichen 3. 4-Bit Binärzahlen im 2er Komplement 4. Rechnen im 2er Komplement

1. 4-Bit Binärzahlen ohne Vorzeichen 2. 4-Bit Binärzahlen mit Vorzeichen 3. 4-Bit Binärzahlen im 2er Komplement 4. Rechnen im 2er Komplement Kx Binäre Zahlen Kx Binäre Zahlen Inhalt. Dezimalzahlen. Hexadezimalzahlen. Binärzahlen. -Bit Binärzahlen ohne Vorzeichen. -Bit Binärzahlen mit Vorzeichen. -Bit Binärzahlen im er Komplement. Rechnen im

Mehr

Die Mersenne sche Vermutung. Einführung. Der Vortrag von Cole. Die Mersenne sche Vermutung

Die Mersenne sche Vermutung. Einführung. Der Vortrag von Cole. Die Mersenne sche Vermutung Die Mersenne sche Vermutung Einführung Die Mersenne sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++-Programm Mersenne (1644): Die Zahlen der Form 2 n -1 sind Primzahlen

Mehr

Rückblick. Zahlendarstellung zu einer beliebigen Basis b. Umwandlung zwischen Zahlendarstellung (214) 5 = (278) 10 =(?) 8

Rü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

Mehr

There are only 10 types of people in the world: those who understand binary, and those who don't

There are only 10 types of people in the world: those who understand binary, and those who don't Modul Zahlensysteme In der Digitaltechnik haben wir es mit Signalen zu tun, die zwei Zustände annehmen können: Spannung / keine Spannung oder 1/ oder 5V / V oder beliebige andere Zustände. In diesem Modul

Mehr

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

Einheit 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

Felder (Arrays) und Zeiger (Pointers) - Teil I

Felder (Arrays) und Zeiger (Pointers) - Teil I Felder (Arrays) und Zeiger (Pointers) - Teil I Felder: Motivation Wir können jetzt über Zahlen iterieren: for (int i=0; i

Mehr

Java I Vorlesung Imperatives Programmieren

Java 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.

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik

Mehr

Lindenmayer-Systeme: Fraktale rekursiv zeichnen. Definition. Definition. Definition. o Alphabet Σ ( Beispiel: {F, +, -} )

Lindenmayer-Systeme: Fraktale rekursiv zeichnen. Definition. Definition. Definition. o Alphabet Σ ( Beispiel: {F, +, -} ) Fraktale rekursiv zeichnen Definition o Alphabet Σ ( Beispiel: F, +, - ) Definition o Alphabet Σ ( Beispiel: F, +, - ) o Σ * = Menge aller endlichen Wörter über Σ ( Beispiel: F+F+ ist in Σ * ) Definition

Mehr

Felder (Arrays) und Zeiger (Pointers) - Teil I

Felder (Arrays) und Zeiger (Pointers) - Teil I Felder (Arrays) und Zeiger (Pointers) - Teil I Feldtypen, Sieb des Eratosthenes, Iteration, Zeigertypen, Zeigerarithmetik, dynamische Speicherverwaltung Felder: Motivation n Wir können jetzt über Zahlen

Mehr

6. Fliesskommazahlen II. Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik; Fliesskomma-Richtlinien; Harmonische Zahlen

6. 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

Mehr

Einführung. Die Mersenne sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++-Programm

Einführung. Die Mersenne sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++-Programm Einführung Die Mersenne sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++-Programm Real Programmers vs. Quiche Eaters The Real Programmer ist intuitiver Programmierer

Mehr

Problem: Keine Integers in JavaCard. ToDo: Rechnen mit Bytes und Shorts

Problem: 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

Mehr

Structs, Referenztypen und Const-Typen

Structs, Referenztypen und Const-Typen Structs, Referenztypen und Const-Typen Rechnen mit rationalen Zahlen o Rationale Zahlen (Q) sind von der Form n/d, mit n und d ausz o C++ hat keinen eingebauten Typ für rationale Zahlen Rechnen mit rationalen

Mehr

C- Kurs 03 Ausdrücke und Operatoren

C- Kurs 03 Ausdrücke und Operatoren C- Kurs 03 Ausdrücke und Operatoren Dipl.- Inf. Jörn Hoffmann jhoffmann@informadk.uni- leipzig.de Universität Leipzig InsDtut für InformaDk Technische InformaDk Ausdrücke Institut für Informatik Ausdrücke

Mehr

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik)

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik) Zahlen im Computer (Klasse 7 Aufbaukurs Informatik) Die Bildauswahl erfolgte in Anlehnung an das Alter der Kinder Prof. J. Walter Bitte römische Zahlen im Geschichtsunterricht! Messsystem mit Mikrocontroller

Mehr

BSZ für Elektrotechnik Dresden. Zahlenformate. Dr.-Ing. Uwe Heiner Leichsenring www.leichsenring-homepage.de

BSZ für Elektrotechnik Dresden. Zahlenformate. Dr.-Ing. Uwe Heiner Leichsenring www.leichsenring-homepage.de BSZ für Elektrotechnik Dresden Zahlenformate Dr.-Ing. Uwe Heiner Leichsenring www.leichsenring-homepage.de Gliederung 1 Überblick 2 Grundaufbau der Zahlensysteme 2.1 Dezimalzahlen 2.2 Binärzahlen = Dualzahlen

Mehr

Einführung. Programmieren, Die Mersenne sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++ Programm

Einführung. Programmieren, Die Mersenne sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++ Programm Einführung Programmieren, Die Mersenne sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++ Programm 1 Programmieren heisst... n... dem Computer mit Hilfe einer Programmiersprache

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 27 4. Vorlesung Inhalt Binäre Darstellung von Integer-Zahlen Vorzeichen-Betrag 2er-Komplement BCD Addition und Subtraktion binär dargestellter Zahlen Carry und Overflow Little Endian

Mehr

, 2014W Übungstermin: Fr.,

, 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

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

Mehr

Vorlesung 6: Operatoren, Logische Ausdrücke

Vorlesung 6: Operatoren, Logische Ausdrücke Vorlesung 6: Operatoren, Logische Ausdrücke Inhalt Organisatorisches Offene Übungen Operatoren Logische Ausdrücke Dr. J. Raimann 1 Offene Übungen (durch Tutoren betreut) montags 1. und 2. Block (8.15 Uhr

Mehr

, 2015S Übungstermin: Mi.,

, 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

Mehr

Programmieren in C / C++ Grundlagen C 2

Programmieren in C / C++ Grundlagen C 2 Programmieren in C / C++ Grundlagen C 2 Hochschule Fulda FB AI Wintersemester 2016/17 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Anweisung / Ausdruck 1 Programm setzt sich aus vielen Anweisungen

Mehr

Softwareentwicklung Ausdrücke und Typkonversionen

Softwareentwicklung Ausdrücke und Typkonversionen Mag. iur. Dr. techn. Michael Sonntag Softwareentwicklung Ausdrücke und Typkonversionen E-Mail: sonntag@fim.uni-linz.ac.at http://www.fim.uni-linz.ac.at/staff/sonntag.htm Institut für Informationsverarbeitung

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8

Mehr

1 Dualsystem Dualzahlen mit Vorzeichen 4. 2 Hexadezimalsystem Hexadezimalzahlen mit Vorzeichen Oktalsystem 13 4 Zahlenring 14

1 Dualsystem Dualzahlen mit Vorzeichen 4. 2 Hexadezimalsystem Hexadezimalzahlen mit Vorzeichen Oktalsystem 13 4 Zahlenring 14 Zahlensysteme Inhalt: 1 Dualsystem 1 1.1 Dualzahlen mit Vorzeichen 4 2 Hexadezimalsystem 8 2.1 Hexadezimalzahlen mit Vorzeichen 10 3 Oktalsystem 13 4 Zahlenring 14 Definition: Ein polyadisches Zahlensystem

Mehr

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Operatoren? Ein Operator ist eine in die Programmiersprache eingebaute Funktion,

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

Grundlagen der Technischen Informatik. 3. Übung. Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

Grundlagen der Technischen Informatik. 3. Übung. Christian Knell Keine Garantie für Korrekt-/Vollständigkeit Grundlagen der Technischen Informatik 3. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit 3. Übungsblatt Themen Aufgabe 1: Aufgabe 2: Aufgabe 3: Aufgabe 4: Aufgabe 5: Zahlendarstellungen

Mehr

Lindenmayer-Systeme: Fraktale rekursiv zeichnen

Lindenmayer-Systeme: Fraktale rekursiv zeichnen Lindenmayer-Systeme: Fraktale rekursiv zeichnen Lindenmayer-Systeme: Definition o Alphabet Σ ( Beispiel: {F, +, -} ) Lindenmayer-Systeme: Definition o Alphabet Σ ( Beispiel: {F, +, -} ) o Σ * = Menge aller

Mehr

Programmieren I. Operatoren und Ausdrücke Heusch 6.2 Ratz Institut für Angewandte Informatik

Programmieren 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

Mehr

C-Programmierung: Ausdrücke und Operatoren#Division.2F

C-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

Mehr

Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Kapitel 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

Mehr

Lösung 1. Übungsblatt

Lösung 1. Übungsblatt Fakultät Informatik, Technische Informatik, Lehrstuhl für Eingebettete Systeme Lösung 1. Übungsblatt Konvertierung von Zahlendarstellungen verschiedener Alphabete und Darstellung negativer Zahlen Stoffverteilung

Mehr

Vorlesung Programmieren

Vorlesung 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

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen 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

Mehr

Grundlagen der Rechnerarchitektur. Einführung

Grundlagen der Rechnerarchitektur. Einführung Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler

Mehr

7. Fliesskommazahlen II. Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik; Fliesskomma-Richtlinien; Harmonische Zahlen

7. 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

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Kapitel 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

Mehr

5 Zahlenformate und deren Grenzen

5 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

Mehr

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen

Inhaltsangabe 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

Einführung in die Informatik. Processing Numbers. Motivation. Primitive Datentypen. Operatoren versus Methoden

Einfü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

Mehr

Einführung in die Informatik. Processing Numbers

Einfü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

Mehr

Zahlensysteme. Wie Computer Zahlen darstellen und mit ihnen rechnen Peter Ziesche

Zahlensysteme. Wie Computer Zahlen darstellen und mit ihnen rechnen Peter Ziesche Zahlensysteme Wie Computer Zahlen darstellen und mit ihnen rechnen 16.10.2004 Peter Ziesche ahlen Natürliche Zahlen 1, 2, 3,... Ganze Zahlen..., -3, -2, -1, 0, 1, 2, 3,... Rationale Zahlen -2, -1/2, -1/3,

Mehr

Kapitel 2. Zahlensysteme

Kapitel 2. Zahlensysteme Kapitel 2 Zahlensysteme 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-1 Zahlensysteme Definitionen Ziffern : Zeichen zur Darstellung von Zahlen Zahl : Eine Folge von

Mehr

01 - Zahlendarstellung

01 - Zahlendarstellung 01 - Zahlendarstellung Technische Grundlagen der Informatik Automation Systems Group E183-1 Institute of Computer Aided Automation Vienna University of Technology email: tgi@auto.tuwien.ac.at Zahlendarstellung

Mehr

Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen

Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen Großübung 1: Zahlensysteme Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen Lehrender: Dr. Klaus Richter, Institut für Informatik; E-Mail: richter@informatik.tu-freiberg.de

Mehr

Informatik I Processing Numbers. Cyrill Stachniss Wolfram Burgard

Informatik I Processing Numbers. Cyrill Stachniss Wolfram Burgard Informatik I Processing Numbers Cyrill Stachniss Wolfram Burgard Motivation Computer bzw. Rechenmaschinen wurden ursprünglich gebaut, um schnell und zuverlässig mit Zahlen zu rechnen. Erste Anwendungen

Mehr

Projekt 3 Variablen und Operatoren

Projekt 3 Variablen und Operatoren Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Einfü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

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 4. November 2015 Administratives Zur Abgabe von Übungsaufgaben Nein, wir

Mehr

Inhalt der Vorlesung. Systematisches Problemlösen mit dem Computer und der Programmiersprache C++. Also: nicht nur aber auch Programmierkurs.

Inhalt der Vorlesung. Systematisches Problemlösen mit dem Computer und der Programmiersprache C++. Also: nicht nur aber auch Programmierkurs. 1 1. Einführung Mersenne sche Vermutung, Höhere Programmiersprachen, Editor, Compiler, Computer, Betriebssystem, das erste C++ Programm und seine syntaktischen und semantischen Bestandteile Inhalt der

Mehr

Kapitel 5: Daten und Operationen

Kapitel 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

Mehr

Dynamische Datentypen

Dynamische Datentypen Dynamische Datentypen Tupel und Folgen o Wertebereich eines Structs / einer Klasse: T1 T2... Tk Werte sind k-tupel Tupel und Folgen o Wertebereich eines Structs / einer Klasse: T1 T2... Tk Werte sind k-tupel

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 27 5. Vorlesung Inhalt Interpretation hexadezimal dargestellter Integer-Zahlen Little Endian / Big Endian Umrechnung in eine binäre Darstellung Ausführung von Additionen Optimierte

Mehr

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

C++ - Operatoren. Eigene Klassen mit neuen Funktionen C++ - Operatoren Eigene Klassen mit neuen Funktionen Übersicht Klassen bisher Eigene Operatoren definieren 2 Bisher Durch Kapselung, Vererbung und Polymorphy können nun eigene Klassen definiert werden,

Mehr

Grundlagen der Informatik 2. Operatoren

Grundlagen der Informatik 2. Operatoren 2. Operatoren Referenzen Typumwandlungen Vorrangregeln Kommentare Grundlagen der Informatik (Alex Rempel) 1 Ausdruck (z.b. "x = 34 + y;") Folge von Operatoren und Operanden Operatoren Arithmetische Operatoren

Mehr

Darstellung von negativen binären Zahlen

Darstellung von negativen binären Zahlen Darstellung von negativen binären Zahlen Beobachtung für eine beliebige Binärzahl B, z.b. B=110010: B + NOT(B) ---------------------------------------------- = B + NOT(B) 1 + (Carry) ----------------------------------------------

Mehr

Einführung in die Informatik

Einfü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

Mehr

Informationsmenge. Maßeinheit: 1 Bit. 1 Byte. Umrechnungen: Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit

Informationsmenge. 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

Mehr

B: Basis des Zahlensystems 0 a i < B a i є N 0 B є (N > 1) Z = a 0 B 0 + a 1 B 1 + a 2 B a n-1 B n-1

B: Basis des Zahlensystems 0 a i < B a i є N 0 B є (N > 1) Z = a 0 B 0 + a 1 B 1 + a 2 B a n-1 B n-1 Polyadisches Zahlensystem B: Basis des Zahlensystems 0 a i < B a i є N 0 B є (N > 1) Ganze Zahlen: n-1 Z= a i B i i=0 Z = a 0 B 0 + a 1 B 1 + a 2 B 2 +... + a n-1 B n-1 Rationale Zahlen: n-1 Z= a i B i

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 9: Prof. Dr. Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen 3. Variable und Datentypen in C 4. Bildschirm Ein-/Ausgabe

Mehr

Gliederung Programmiersprachen. Programmiersprachen Einführung in C. Ausdrücke in Programmiersprachen ~ Aufbau mathematischer Formeln

Gliederung Programmiersprachen. Programmiersprachen Einführung in C. Ausdrücke in Programmiersprachen ~ Aufbau mathematischer Formeln Programmiersprachen Einführung in C Teil 9: Prof. Dr. Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen 3. Variable und Datentypen in C 4. Bildschirm Ein-/Ausgabe

Mehr

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Anweisung int zahl; zahl = 2; zahl = zahl * 10; int zahl; ; Jede Anweisung endet mit einem

Mehr

Binärzahlen. Vorkurs Informatik. Sommersemester Institut für Informatik Heinrich-Heine-Universität Düsseldorf

Binärzahlen. Vorkurs Informatik. Sommersemester Institut für Informatik Heinrich-Heine-Universität Düsseldorf Binärzahlen Vorkurs Informatik Institut für Informatik Heinrich-Heine-Universität Düsseldorf Sommersemester 2016 Gliederung 1 Das Binärsystem Einleitung Darstellung 2 Umrechen Modulo und DIV Dezimal in

Mehr

Grundlagen der Informatik I ATI / MB

Grundlagen 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

Mehr

3. Java Einführung. Erstes Java Programm. Der euklidische Algorithmus in Java. Java Klassen

3. Java Einführung. Erstes Java Programm. Der euklidische Algorithmus in Java. Java Klassen Erstes Java Programm public class Hello { Klasse: Ein Programm Methode: benannte Folge von en. 3. Java Einführung Moderner Euklid Algorithmus in Java, Ein- und Ausgabe in Java public static void main (String[]

Mehr

N Bit binäre Zahlen (signed)

N Bit binäre Zahlen (signed) N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 21 Einstieg in die Informatik mit Java Einfache Ausdrücke Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 21 1 Überblick 2 Arithmetische Operatoren 3 Inkrement und Dekrementoperatoren

Mehr

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird. Zahlensysteme Definition: Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird. In der Informatik spricht man auch von Stellenwertsystem,

Mehr

systematischen Verarbeitung von Informationen Was ist Informatik?

systematischen Verarbeitung von Informationen Was ist Informatik? 14 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine, Höhere Programmiersprachen, Werkzeuge der Programmierung, das erste C++ Programm und seine syntaktischen und semantischen

Mehr