Negativ-Operator -
Der Negativ-Operator dient der expliziten Negierung eines Elementes und wird in C auch mit unary minus
bezeichnet. Er wird stets VOR das zu kennzeichnende Element geschrieben, beispielsweise -value
oder -1000
.
Details
Der Negativ-Operator erwartet einen Operanden als rvalue und wird von rechts nach links abgearbeitet. Der Rückgabewert ist ein rvalue und hat denselben Typ wie der Operand.
Die semantische Bedeutung der Negierung ist die Multiplikation mit -1
. Der Computer führt diese Negierung aus, indem er das jeweilige, im Compiler verwendete Komplement bildet.
Der Negativ-Operator wind insbesondere verwendet, um einen im Programmcode geschriebenen festen Integer-Wert als negativ zu markieren. In diesem Falle wird der Compiler oftmals die Zahl nicht zur Laufzeit negieren, sondern den festen Wert bereits während der Compilation im schlussendlich verwendeten Komplement speichern.
Folgende Konstrukte sind nur begrenzt sinnvoll, jedoch möglich:
Vorsicht: Folgende Zeile sieht zwar fast gleich aus, allerdings handelt es sich aufgrund des fehlenden Abstandes zwischen den den beiden -
hier um den Decrement-Operator, welcher die Variable verändert:
Dieser Unterschied ist jedoch hinfällig, wenn der Negativ-Operator gemischt mit dem Positiv-Operator auftritt, da ein solcher Operator nicht existiert und somit als jeweils einzelne Positiv- und Negativ-Operatoren aufgelöst wird: