Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
c:expr:start [2008/11/08 19:04] dani93 |
c:expr:start [2022/09/22 19:58] (aktuell) |
||
|---|---|---|---|
| Zeile 5: | Zeile 5: | ||
| ===== atomare Ausdrücke ===== | ===== atomare Ausdrücke ===== | ||
| - | Atomar bedeutet unteilbar, also nicht weiter zelegbar. Der Wert ist direkt ablesbar und es muss nicht mehr gerechnet werden: | + | Atomar bedeutet unteilbar, also nicht weiter zerlegbar. Der Wert ist direkt ablesbar und es muss nicht mehr gerechnet werden: |
| Einige Beispiele: | Einige Beispiele: | ||
| Zeile 63: | Zeile 63: | ||
| ==== mathematische Ausdrücke ==== | ==== mathematische Ausdrücke ==== | ||
| - | Der Ausdruck ''4 + 32'' ist nicht mehr atomar, der Wert des Ausdrucks ist nicht mehr direkt abzulesen, da der Computer muss ihn zunächst noch berechnen. Der Wert ist entsprechend 36. Das wird ein moderner Compiler während des compilierens einmal ausrechnen und nicht während das Programm abläuft, wichtig ist jedoch, dass der Ausdruck erst zusammengefasst werden muss, er also einen Operator enthält. Bei ''4 + 32'' werden zwei Integerzahlen mit Hilfe der Addition miteinander verknüpft, das Ergebnis ist wieder ein Integer: 36. | + | Der Ausdruck ''4 + 32'' ist nicht mehr atomar, der Wert des Ausdrucks ist nicht mehr direkt abzulesen, da der Computer muss ihn zunächst noch berechnen. Der Wert ist entsprechend 36. Das wird ein moderner Compiler während des kompilierens einmal ausrechnen und nicht während das Programm abläuft, wichtig ist jedoch, dass der Ausdruck erst zusammengefasst werden muss, er also einen Operator enthält. Bei ''4 + 32'' werden zwei Integerzahlen mit Hilfe der Addition miteinander verknüpft, das Ergebnis ist wieder ein Integer: 36. |
| Die Schreibweise, wie ein Integer geschrieben ist, spielt dabei keine Rolle: ''4 * 0x20'' entspricht ''4 * 32'', das Ergebnis ist also ein Integer mit dem Wert 128. Auch ASCII-Zeichen lassen sich so verbinden: Weiß man, dass man ein ASCII-Zeichen hat, das eine Ziffer enthält, so kann man einfach ''<nowiki>'0'</nowiki>'' abziehen. ''<nowiki>'4'</nowiki>'' hat den Wert 52, zieht man davon ''<nowiki>'0'</nowiki>'', also 48, ab, so erhält man den Integer-Wert 4. | Die Schreibweise, wie ein Integer geschrieben ist, spielt dabei keine Rolle: ''4 * 0x20'' entspricht ''4 * 32'', das Ergebnis ist also ein Integer mit dem Wert 128. Auch ASCII-Zeichen lassen sich so verbinden: Weiß man, dass man ein ASCII-Zeichen hat, das eine Ziffer enthält, so kann man einfach ''<nowiki>'0'</nowiki>'' abziehen. ''<nowiki>'4'</nowiki>'' hat den Wert 52, zieht man davon ''<nowiki>'0'</nowiki>'', also 48, ab, so erhält man den Integer-Wert 4. | ||
| Zeile 108: | Zeile 108: | ||
| x = 4 + 3 | x = 4 + 3 | ||
| </code> | </code> | ||
| - | verkürzt zurde und so auch in C einzug fand. Das ganze funktioniert dann allerdings nur, wenn die Setter-Operatoren erst die rechte Seite auswerten. | + | verkürzt wurde und so auch in C Einzug fand. Das ganze funktioniert dann allerdings nur, wenn die Setter-Operatoren erst die rechte Seite auswerten. |
| ==== Besonderheit logische Verknüpfungen ==== | ==== Besonderheit logische Verknüpfungen ==== | ||