2. Ganze Zahlen int unsigned int

Größe: px
Ab Seite anzeigen:

Download "2. Ganze Zahlen int unsigned int"

Transkript

1 99 2. 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; 100

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; 100

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 102 Punkt vor Strichrechnung 9 * celsius / bedeutet (9 * celsius / 5) + 32

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

37 Auswertungsreihenfolge formaler 110 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 110 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 110 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 110 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 110 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 110 E K 1 K 2 Reihenfolge nicht spezifiziert. C++: anzuwendende gültige Beispiel für "schlechten Ausdruck": (a+b)*(a++)

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

44 Arithmetische Operatoren 112 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 112 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 112 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 112 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 112 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 112 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 112 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 113 Bereits bekannt: a = b bedeutet Zuweisung von b (R-Wert) an a (L-Wert). Rückgabe: L-Wert

52 Zuweisungsausdruck nun genauer 113 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 113 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 113 a = b = c a = (b = c) Beispiel Mehrfachzuweisung: a = b = 0 = b=0; a=0

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

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

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

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

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

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

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

62 Division und Modulus 114 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 115 Modulus-Operator berechnet Rest der ganzzahligen Division 5 / 2 hat Wert 2, 5 % 2 hat Wert 1.

64 Division und Modulus 115 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 116 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 116 expr = expr + 1. Nachteile

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

68 117 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 117 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 117 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 117 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 119 Beispiel int a = 7; std::cout << ++a << "\n"; std::cout << a++ << "\n"; std::cout << a << "\n";

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

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

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

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

77 C++ vs. ++C 121 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 122 a += b a = a + b

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

80 Binäre Zahlendarstellungen 124 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 124 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 124 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 124 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 124 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 124 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. 125

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

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

89 Hexadezimale Zahlen 127 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

90 Wozu Hexadezimalzahlen? 128 Ein Hex-Nibble entspricht genau 4 Bits.

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

92 128 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

93 128 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

94 128 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

95 128 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 129 Beispiel: Hex-Farben #00FF00 r g b

97 129 Beispiel: Hex-Farben #FFFF00 r g b

98 129 Beispiel: Hex-Farben # r g b

99 129 Beispiel: Hex-Farben #FF0050 r g b

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

101 Wozu Hexadezimalzahlen? 131 Die NZZ hätte viel Platz sparen können...

102 Wertebereich des Typs int 132 // 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; }

103 Wertebereich des Typs int 132 // 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

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

105 Wertebereich des Typs int 133 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

106 Wertebereich des Typs int 133 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

107 134 Ü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!

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

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

110 Konversion 137 int Wert Vorzeichen unsigned int Wert x 0 x x < 0 x + 2 B

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

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

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

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

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

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

2 Einfache Rechnungen

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

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

Programmierung mit NQC: Kommunikation zwischen zwei RCX

Programmierung mit NQC: Kommunikation zwischen zwei RCX Programmierung mit NQC: Kommunikation zwischen zwei RCX Teil : Grundlagen Martin Schmidt 7. Februar 24 Teil : Grundlagen Zahlensysteme : Binärsystem Ziffern: und Bit = binary digit (Binärziffer) Einfach

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

L6. Operatoren und Ausdrücke

L6. Operatoren und Ausdrücke L6. Operatoren und Ausdrücke 1. Arithmetische Operatoren: +, -, *, /, %, --, ++ 2. Zuweisung-Operatoren: =, +=, -=, *=, /= 3. Vergleichsoperatoren: =, ==,!= 4. Logische Operatoren:!, &&, 5.

Mehr

21.10.2013. Vorlesung Programmieren. Agenda. Dezimalsystem. Zahlendarstellung. Zahlendarstellung. Oder: wie rechnen Computer?

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

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

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

Mehr

Zahlendarstellungen und Rechnerarithmetik*

Zahlendarstellungen und Rechnerarithmetik* Zahlendarstellungen und Rechnerarithmetik* 1. Darstellung positiver ganzer Zahlen 2. Darstellung negativer ganzer Zahlen 3. Brüche und Festkommazahlen 4. binäre Addition 5. binäre Subtraktion *Die Folien

Mehr

Numerische Datentypen. Simon Weidmann

Numerische Datentypen. Simon Weidmann Numerische Datentypen Simon Weidmann 08.05.2014 1 Ganzzahlige Typen 1.1 Generelles Bei Datentypen muss man immer zwei elementare Eigenschaften unterscheiden: Zuerst gibt es den Wertebereich, zweitens die

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: [email protected]

Mehr

IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken

IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken Im Folgenden finden Sie jeweils die korrekte Antwort zu den im Buch abgedruckten Prüfungsfragen, soweit die Antworten in Textform

Mehr

Kapitel 2. Zahlensysteme, Darstellung von Informationen

Kapitel 2. Zahlensysteme, Darstellung von Informationen Kapitel 2 Zahlensysteme, Darstellung von Informationen 1 , Darstellung von Informationen Ein Computer speichert und verarbeitet mehr oder weniger große Informationsmengen, je nach Anwendung und Leistungsfähigkeit.

Mehr

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:

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

Mehr

Das Rechnermodell - Funktion

Das 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

Mehr

Zahlensysteme Seite -1- Zahlensysteme

Zahlensysteme Seite -1- Zahlensysteme Zahlensysteme Seite -- Zahlensysteme Inhaltsverzeichnis Dezimalsystem... Binärsystem... Umrechnen Bin Dez...2 Umrechnung Dez Bin...2 Rechnen im Binärsystem Addition...3 Die negativen ganzen Zahlen im Binärsystem...4

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

Lösung 1. Übungsblatt

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

Mehr

Das Maschinenmodell Datenrepräsentation

Das Maschinenmodell Datenrepräsentation Das Maschinenmodell Datenrepräsentation Darstellung von Zahlen/Zeichen in der Maschine Bit (0/1) ist die kleinste Informationseinheit Größere Einheiten durch Zusammenfassen mehrerer Bits, z.b. 8 Bit =

Mehr

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt [email protected] Tel: 0463 / 2700-3516 Lösung der Aufgaben (1/2) Lösung Aufgabe

Mehr

2 Darstellung von Zahlen und Zeichen

2 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

Mehr

Black Box erklärt Zahlensysteme.

Black Box erklärt Zahlensysteme. Black Box erklärt Zahlensysteme. Jeder von uns benutzt aktiv mindestens zwei Zahlenssysteme, oftmals aber so selbstverständlich, dass viele aus dem Stegreif keines mit Namen nennen können. Im europäischen

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

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

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur 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

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär Zahlensysteme Menschen nutzen zur Angabe von Werten und zum Rechnen vorzugsweise das Dezimalsystem Beispiel 435 Fische aus dem Teich gefischt, d.h. 4 10 2 + 3 10 1 +5 10 0 Digitale Rechner speichern Daten

Mehr

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1

Mehr

OO Programmierung in Java

OO Programmierung in Java OO Programmierung in Java Einführung WS 212/213 Prof. Dr. Margarita Esponda M. Esponda-Argüero 1 Homepage Homepage http://www.esponda.de/ws_12_13/jbk Vorlesungsfolien Literaturliste Übungen Zusätzliches

Mehr

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean 01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2

Mehr

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer

Mehr

3 Rechnen und Schaltnetze

3 Rechnen und Schaltnetze 3 Rechnen und Schaltnetze Arithmetik, Logik, Register Taschenrechner rste Prozessoren (z.b. Intel 4004) waren für reine Rechenaufgaben ausgelegt 4 4-Bit Register 4-Bit Datenbus 4 Kbyte Speicher 60000 Befehle/s

Mehr

Leseprobe. Taschenbuch Mikroprozessortechnik. Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN: 978-3-446-42331-2

Leseprobe. Taschenbuch Mikroprozessortechnik. Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN: 978-3-446-42331-2 Leseprobe Taschenbuch Mikroprozessortechnik Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN: 978-3-446-4331- Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-4331-

Mehr

3 Die Grundrechenarten

3 Die Grundrechenarten 3 Die Grundrechenarten In diesem Kapitel wollen wir uns unter anderem mit folgenden Themen beschäftigen: Operatoren für die Addition, Subtraktion, Multiplikation und Division Modulooperator, auch Restoperator

Mehr

Numerisches Programmieren, Übungen

Numerisches Programmieren, Übungen Technische Universität München SoSe 0 Institut für Informatik Prof Dr Thomas Huckle Dipl-Math Jürgen Bräckle Nikola Tchipev, MSc Numerisches Programmieren, Übungen Musterlösung Übungsblatt: Zahlendarstellung,

Mehr

Primitive Datentypen

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

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität Carolo Wilhelmina zu Brauschweig Institut für rechnergestützte Modellierung im Bauingenierwesen Prof. Dr.-Ing. habil. Manfred Krafczyk Pockelsstraße 3, 38106 Braunschweig http://www.irmb.tu-bs.de

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java 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

Mehr

Information in einem Computer ist ein

Information in einem Computer ist ein 4 Arithmetik Die in den vorhergehenden Kapiteln vorgestellten Schaltungen haben ausschließlich einfache, Boole sche Signale verarbeitet. In diesem Kapitel wird nun erklärt, wie Prozessoren mit Zahlen umgehen.

Mehr

Teile und Herrsche. Themen heute. Eigene Funktionen Parameter Fallunterscheidungen Fehlersuche. Programmieren für Ingenieure Sommer 2015

Teile und Herrsche. Themen heute. Eigene Funktionen Parameter Fallunterscheidungen Fehlersuche. Programmieren für Ingenieure Sommer 2015 Teile und Herrsche Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes C-Programm Vom Programm zum Prozessor Prüfen und Übersetzen Maschinen- Programm Hochladen über USB

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

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil II: Wat iss ene Bit, Byte un Word?

Mehr

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke Rechnerarithmetik Rechnerarithmetik 22 Prof. Dr. Rainer Manthey Informatik II Übersicht bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke in diesem

Mehr

Programmieren. Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 2008/2009. Prof. Dr. Christian Werner

Programmieren. Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 2008/2009. Prof. Dr. Christian Werner Institut für Telematik Universität zu Lübeck Programmieren Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 8/9 Prof. Dr. Christian Werner 3- Überblick Typische Merkmale moderner Computer

Mehr

Modellierung und Programmierung

Modellierung und Programmierung Modellierung und Programmierung Dr. Martin Riplinger 24.10.2012 IAM Institut für Angewandte Mathematik Literatur: Internet Skripte Erik Wallacher: Vorlesungsskript Modellierung/Programmierung Gerald Kempfer:

Mehr

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

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18 Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.

Mehr

Computerarithmetik ( )

Computerarithmetik ( ) 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

Mehr

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung

Mehr

Technische Grundlagen der Informatik Kapitel 8. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt

Technische Grundlagen der Informatik Kapitel 8. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt Technische Grundlagen der Informatik Kapitel 8 Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt Kapitel 8: Themen Zahlensysteme - Dezimal - Binär Vorzeichen und Betrag Zweierkomplement Zahlen

Mehr

Daten verarbeiten. Binärzahlen

Daten verarbeiten. Binärzahlen Daten verarbeiten Binärzahlen In Digitalrechnern werden (fast) ausschließlich nur Binärzahlen eingesetzt. Das Binärzahlensystem ist das Stellenwertsystem mit der geringsten Anzahl von Ziffern. Es kennt

Mehr

Zahlen und Zeichen (1)

Zahlen und Zeichen (1) Zahlen und Zeichen () Fragen: Wie werden Zahlen repräsentiert und konvertiert? Wie werden negative Zahlen und Brüche repräsentiert? Wie werden die Grundrechenarten ausgeführt? Was ist, wenn das Ergebnis

Mehr

Einführung in das Programmieren Prolog Sommersemester 2006. Teil 2: Arithmetik. Version 1.0

Einführung in das Programmieren Prolog Sommersemester 2006. Teil 2: Arithmetik. Version 1.0 Einführung in das Programmieren Prolog Sommersemester 2006 Teil 2: Arithmetik Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax, Regeln, Unifikation,

Mehr

Zahlensysteme. Zahl 0 0 0 0 0 5 5. Stellenwert Zahl 0 0 0 0 0 50 5. Zahl = 55 +50 +5

Zahlensysteme. Zahl 0 0 0 0 0 5 5. Stellenwert Zahl 0 0 0 0 0 50 5. Zahl = 55 +50 +5 Personal Computer in Betrieb nehmen 1/6 Weltweit setzen die Menschen alltäglich das Zehnersystem für Zählen und Rechnen ein. Die ursprüngliche Orientierung stammt vom Zählen mit unseren 10 Fingern. Für

Mehr

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

Mehr

Prinzipieller Grundaufbau eines einfachen C-Programmes

Prinzipieller Grundaufbau eines einfachen C-Programmes Prinzipieller Grundaufbau eines einfachen C-Programmes C unterscheidet zwischen Groß- und Kleinschreibung! Siehe zu den folgenden Erklärungen auch das Programm am Ende der nächsten Seite. Am Anfang aller

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Der hat die früher handschriftlichen Folien lesbar gemacht. Tassilo Horn riediger [email protected] WiSe 2012/13 1 Heutige Themen Hello World!

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben. Präsenzaufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben. Präsenzaufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt

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

C-Vorrangregeln. Version 1.3 6.7.2009. email: [email protected] Web: www.ostc.de

C-Vorrangregeln. Version 1.3 6.7.2009. email: tb@ostc.de Web: www.ostc.de C-Vorrangregeln Version 1.3 6.7.2009 email: [email protected] Web: www.ostc.de Die Informationen in diesem Skript wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen

Mehr

Assembler-Programme. Systemprogrammierung (37-023) Elementare Komponenten eines Assembler-Programmes

Assembler-Programme. Systemprogrammierung (37-023) Elementare Komponenten eines Assembler-Programmes Systemprogrammierung (37-023) Assemblerprogrammierung Betriebssystemgrundlagen Maschinenmodelle Dozent: Prof. Thomas Stricker krankheitshalber vertreten durch: Felix Rauch WebSite: http://www.cs.inf.ethz.ch/37-023/

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10 Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754 Berechnung von Gleitkommazahlen aus Dezimalzahlen Die wissenschaftliche Darstellung einer Zahl ist wie folgt definiert: n = f * 10 e. f ist

Mehr

Modellierung und Programmierung

Modellierung und Programmierung Modellierung und Programmierung Dr. Martin Riplinger 19.12.2012 IAM Institut für Angewandte Mathematik Funktionszeiger: Vorüberlegungen Funktionsaufrufe sind bis jetzt im Code mit Name explizit angegeben

Mehr

Definition: Die Sprache C++ ist die Menge aller korrekter C++-Programme. Theoretischer Aspekt. // mile2km.cpp: Umwandlung von Meilen in Kilometer

Definition: Die Sprache C++ ist die Menge aller korrekter C++-Programme. Theoretischer Aspekt. // mile2km.cpp: Umwandlung von Meilen in Kilometer Programmierkurs C++ 1. Überblick über C++ Seite 1 1 Überblick über C++ Definition: Die Sprache C++ ist die Menge aller korrekter C++-Programme. Theoretischer Aspekt 1.1 Elemente der Sprache C++ // mile2km.cpp:

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Übersicht. Race Conditions Buffer Overflows Heap Overflows Exkurs: Stackaufbau bei Intel x86 Exkurs: Shellcode Stack Overflows

Übersicht. Race Conditions Buffer Overflows Heap Overflows Exkurs: Stackaufbau bei Intel x86 Exkurs: Shellcode Stack Overflows Übersicht Race Conditions Buffer Overflows Heap Overflows Exkurs: Stackaufbau bei Intel x86 Exkurs: Shellcode Stack Overflows Integer Overflows Format-String-Angriffe (SQL) Injection Cross Site Scripting

Mehr

Grundlagen der Technischen Informatik Wintersemester 12/13 J. Kaiser, IVS-EOS

Grundlagen der Technischen Informatik Wintersemester 12/13 J. Kaiser, IVS-EOS Gleit komma zahlen Gleitkommazahlen in vielen technischen und wissenschaftlichen Anwendungen wird eine große Dynamik benötigt: sowohl sehr kleine als auch sehr große Zahlen sollen einheitlich dargestellt

Mehr

Programmieren in C. Operatoren, Variablen und deren Sichtbarkeit. Prof. Dr. Nikolaus Wulff

Programmieren in C. Operatoren, Variablen und deren Sichtbarkeit. Prof. Dr. Nikolaus Wulff Programmieren in C Operatoren, Variablen und deren Sichtbarkeit Prof. Dr. Nikolaus Wulff Auswertung von Ausdrücken Was passiert wenn ein Ausdruck wie z. B. int y,x=2; y = ++x * x++; im Computer abgearbeitet

Mehr

1 Syntax von Programmiersprachen

1 Syntax von Programmiersprachen 1 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ): formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmier-Sprache Festlegung, wie Programme

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................

Mehr

Technische Informatik I

Technische Informatik I Technische Informatik I Vorlesung 2: Zahldarstellung Joachim Schmidt [email protected] Übersicht Geschichte der Zahlen Zahlensysteme Basis / Basis-Umwandlung Zahlsysteme im Computer Binärsystem,

Mehr

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg Compiler: Vom Code zum Maschinen-Code C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg Prof. Dr. Jan Dünnweber Zusammenhänge: C und Assembler Hochsprachen

Mehr

Programmieren in C Teil 3: Mikrocontrollerprogrammierung

Programmieren in C Teil 3: Mikrocontrollerprogrammierung Programmieren in C Teil 3: Mikrocontrollerprogrammierung 08/30/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Tag 1 Hello World 08/30/10 Fachbereich Physik Institut für Kernphysik

Mehr

Daten, Informationen, Kodierung. Binärkodierung

Daten, Informationen, Kodierung. Binärkodierung Binärkodierung Besondere Bedeutung der Binärkodierung in der Informatik Abbildung auf Alphabet mit zwei Zeichen, in der Regel B = {0, 1} Entspricht den zwei möglichen Schaltzuständen in der Elektronik:

Mehr

4. Datentypen. Einleitung Eingebaute Datentypen. Konversion / Type-Cast. Operatoren. Übersicht Die Datentypen char, float und double Standardwerte

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

Mehr

Bit-Operationen KAPITEL 11

Bit-Operationen KAPITEL 11 KAPITEL 11 Bit-Operationen Sein oder nicht sein, das ist hier die Frage. Shakespeare über Boolesche Algebra In diesem Kapitel besprechen wir bitorientierte Operationen. Ein Bit ist die kleinste Informationseinheit;

Mehr

Teil 1: Digitale Logik

Teil 1: Digitale Logik Teil 1: Digitale Logik Inhalt: Boolesche Algebra kombinatorische Logik sequentielle Logik kurzer Exkurs technologische Grundlagen programmierbare logische Bausteine 1 Analoge und digitale Hardware bei

Mehr

Zur Universalität der Informatik. Gott ist ein Informatiker. Die Grundordnung der Welt läßt sich mathematisch formulieren:

Zur Universalität der Informatik. Gott ist ein Informatiker. Die Grundordnung der Welt läßt sich mathematisch formulieren: Daten und ihre Codierung Seite: 1 Zur Universalität der Informatik Gott ist ein Informatiker Die Grundordnung der Welt läßt sich mathematisch formulieren: Naturgesetze, wie wir sie in der Physik, Chemie

Mehr

A.1 Schaltfunktionen und Schaltnetze

A.1 Schaltfunktionen und Schaltnetze Schaltfunktionen und Schaltnetze A. Schaltfunktionen und Schaltnetze 22 Prof. Dr. Rainer Manthey Informatik II Bedeutung des Binärsystems für den Rechneraufbau Seit Beginn der Entwicklung von Computerhardware

Mehr

Kapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Kapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung Kapitel 2 Grundlegende Konzepte 1 2.1 Zahlensysteme Römisches System Grundziffern I 1 erhobener Zeigefinger V 5 Hand mit 5 Fingern X 10 steht für zwei Hände L 50 C 100 Centum heißt Hundert D 500 M 1000

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

1. LPC - Lehmanns Programmier Contest - Lehmanns Logo

1. LPC - Lehmanns Programmier Contest - Lehmanns Logo Aufgabe ist die Entwicklung einer vereinfachten Variante der beliebten Programmiersprache Logo. Die Aufgabe ist in drei Stufen zu erledigen, von der wir zunächst nur die erste Stufe bekannt geben. Die

Mehr

Binäre Gleitkommazahlen

Binäre Gleitkommazahlen Binäre Gleitkommazahlen Was ist die wissenschaftliche, normalisierte Darstellung der binären Gleitkommazahl zur dezimalen Gleitkommazahl 0,625? Grundlagen der Rechnerarchitektur Logik und Arithmetik 72

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. [email protected] 16.03.2011

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011 Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 2 TOY Karl C. Posch [email protected] co1.ro_2003. 1 Ausblick. Erste

Mehr

Übung RA, Kapitel 1.2

Übung RA, Kapitel 1.2 Übung RA, Kapitel 1.2 Teil 1: Zahlen und Logik A) Aufgaben zu den ganzen Zahlen 1. Konvertieren Sie die folgenden Zahlen in die Binärform: 1984 Immer durch 2 teilen, der Rest ergibt das Bit. Jeweils mit

Mehr

Mikro-Controller-Pass 1

Mikro-Controller-Pass 1 MikroControllerPass Lernsysteme MC 805 Seite: (Selbststudium) Inhaltsverzeichnis Vorwort Seite 2 Addition Seite 3 Subtraktion Seite 4 Subtraktion durch Addition der Komplemente Dezimales Zahlensystem:Neunerkomplement

Mehr

Informationsdarstellung im Rechner

Informationsdarstellung im Rechner Informationsdarstellung im Rechner Dr. Christian Herta 15. Oktober 2005 Einführung in die Informatik - Darstellung von Information im Computer Dr. Christian Herta Darstellung von Information im Computer

Mehr

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Institut für Computerphysik Universität Stuttgart Wintersemester 2012/13 Wie rechnet ein Computer? Ein Mikroprozessor ist ein Netz von Transistoren,

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

DATENSTRUKTUREN UND ZAHLENSYSTEME

DATENSTRUKTUREN UND ZAHLENSYSTEME DATENSTRUKTUREN UND ZAHLENSYSTEME RALF HINZE Institute of Information and Computing Sciences Utrecht University Email: [email protected] Homepage: http://www.cs.uu.nl/~ralf/ March, 2001 (Die Folien finden

Mehr

3 Zahlensysteme in der Digitaltechnik

3 Zahlensysteme in der Digitaltechnik 3 Zahlensysteme in der Digitaltechnik System Dezimal Hexadezimal Binär Oktal Basis, Radix 10 16 2 8 Zahlenwerte 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 0 1 10 11 100

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Zahlensysteme und Datendarstellung Zahlensysteme Problem: Wie stellt man (große) Zahlen einfach, platzsparend und rechnergeeignet

Mehr

Grundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme

Grundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme Grundlagen der Informatik 2 Grundlagen der Digitaltechnik 1. Zahlensysteme Prof. Dr.-Ing. Jürgen Teich Dr.-Ing. Christian Haubelt Lehrstuhl für Hardware-Software Software-Co-Design Grundlagen der Digitaltechnik

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine

Mehr

Aufbau von Programmen/Dateien

Aufbau von Programmen/Dateien Aufbau von Programmen/Dateien Typen von Dateien Header-Dateien (.h): enthalten Deklarationen (auch Signatur, Prototyp, Rumpf) von Funktionen, Variablen, Konstanten und in C++ auch Klassendefinitionen eines

Mehr