Festigkeit - Operatoren
Was ist ein Operator?
Nehmen wir einen einfachen Ausdruck 4 + 5 is equal to 9. Hier heißen 4 und 5operands und '+' heißt das operator. Solidity unterstützt die folgenden Operatortypen.
- Rechenzeichen
- Vergleichsoperatoren
- Logische (oder relationale) Operatoren
- Zuweisungsoperatoren
- Bedingte (oder ternäre) Operatoren
Schauen wir uns alle Operatoren einzeln an.
Rechenzeichen
Solidity unterstützt die folgenden arithmetischen Operatoren:
Angenommen, Variable A hält 10 und Variable B hält 20, dann -
Beispiel zeigen
Sr.Nr. | Betreiber & Beschreibung |
---|---|
1 | + (Addition) Fügt zwei Operanden hinzu Ex: A + B ergibt 30 |
2 | - (Subtraction) Subtrahiert den zweiten Operanden vom ersten Ex: A - B ergibt -10 |
3 | * (Multiplication) Multiplizieren Sie beide Operanden Ex: A * B ergibt 200 |
4 | / (Division) Teilen Sie den Zähler durch den Nenner Ex: B / A ergibt 2 |
5 | % (Modulus) Gibt den Rest einer Ganzzahldivision aus Ex: B% A ergibt 0 |
6 | ++ (Increment) Erhöht einen ganzzahligen Wert um eins Ex: A ++ gibt 11 |
7 | -- (Decrement) Verringert einen ganzzahligen Wert um eins Ex: A-- wird 9 geben |
Vergleichsoperatoren
Solidity unterstützt die folgenden Vergleichsoperatoren:
Angenommen, Variable A hält 10 und Variable B hält 20, dann -
Beispiel zeigen
Sr.Nr. | Betreiber & Beschreibung |
---|---|
1 | = = (Equal) Überprüft, ob der Wert von zwei Operanden gleich ist oder nicht. Wenn ja, wird die Bedingung erfüllt. Ex: (A == B) ist nicht wahr. |
2 | != (Not Equal) Überprüft, ob der Wert von zwei Operanden gleich ist oder nicht. Wenn die Werte nicht gleich sind, wird die Bedingung wahr. Ex: (A! = B) ist wahr. |
3 | > (Greater than) Überprüft, ob der Wert des linken Operanden größer als der Wert des rechten Operanden ist. Wenn ja, wird die Bedingung erfüllt. Ex: (A> B) ist nicht wahr. |
4 | < (Less than) Überprüft, ob der Wert des linken Operanden kleiner als der Wert des rechten Operanden ist. Wenn ja, wird die Bedingung erfüllt. Ex: (A <B) ist wahr. |
5 | >= (Greater than or Equal to) Überprüft, ob der Wert des linken Operanden größer oder gleich dem Wert des rechten Operanden ist. Wenn ja, wird die Bedingung erfüllt. Ex: (A> = B) ist nicht wahr. |
6 | <= (Less than or Equal to) Überprüft, ob der Wert des linken Operanden kleiner oder gleich dem Wert des rechten Operanden ist. Wenn ja, wird die Bedingung erfüllt. Ex: (A <= B) ist wahr. |
Logische Operatoren
Solidity unterstützt die folgenden logischen Operatoren:
Angenommen, Variable A hält 10 und Variable B hält 20, dann -
Beispiel zeigen
Sr.Nr. | Betreiber & Beschreibung |
---|---|
1 | && (Logical AND) Wenn beide Operanden ungleich Null sind, wird die Bedingung wahr. Ex: (A && B) ist wahr. |
2 | || (Logical OR) Wenn einer der beiden Operanden ungleich Null ist, wird die Bedingung erfüllt. Ex: (A || B) ist wahr. |
3 | ! (Logical NOT) Kehrt den logischen Zustand seines Operanden um. Wenn eine Bedingung wahr ist, macht der Operator Logical NOT sie falsch. Ex:! (A && B) ist falsch. |
Bitweise Operatoren
Solidity unterstützt die folgenden bitweisen Operatoren:
Angenommen, Variable A hält 2 und Variable B hält 3, dann -
Beispiel zeigen
Sr.Nr. | Betreiber & Beschreibung |
---|---|
1 | & (Bitwise AND) Es führt eine boolesche UND-Operation für jedes Bit seiner ganzzahligen Argumente aus. Ex: (A & B) ist 2. |
2 | | (BitWise OR) Es führt eine boolesche ODER-Operation für jedes Bit seiner ganzzahligen Argumente aus. Ex: (A | B) ist 3. |
3 | ^ (Bitwise XOR) Es führt eine boolesche exklusive ODER-Operation für jedes Bit seiner ganzzahligen Argumente aus. Exklusives ODER bedeutet, dass entweder Operand eins wahr ist oder Operand zwei wahr ist, aber nicht beide. Ex: (A ^ B) ist 1. |
4 | ~ (Bitwise Not) Es ist ein unärer Operator und arbeitet durch Umkehren aller Bits im Operanden. Ex: (~ B) ist -4. |
5 | << (Left Shift) Es verschiebt alle Bits in seinem ersten Operanden um die im zweiten Operanden angegebene Anzahl von Stellen nach links. Neue Bits werden mit Nullen gefüllt. Das Verschieben eines Werts um eine Position entspricht dem Multiplizieren mit 2, das Verschieben von zwei Positionen entspricht dem Multiplizieren mit 4 usw. Ex: (A << 1) ist 4. |
6 | >> (Right Shift) Binärer Rechtsschieber. Der Wert des linken Operanden wird um die vom rechten Operanden angegebene Anzahl von Bits nach rechts verschoben. Ex: (A >> 1) ist 1. |
7 | >>> (Right shift with Zero) Dieser Operator ist genau wie der Operator >>, außer dass die links verschobenen Bits immer Null sind. Ex: (A >>> 1) ist 1. |
Zuweisungsoperatoren
Solidity unterstützt die folgenden Zuweisungsoperatoren:
Beispiel zeigen
Sr.Nr. | Betreiber & Beschreibung |
---|---|
1 | = (Simple Assignment ) Weist dem linken Operanden Werte vom rechten Operanden zu Ex: C = A + B weist C den Wert von A + B zu |
2 | += (Add and Assignment) Es fügt dem linken Operanden den rechten Operanden hinzu und weist das Ergebnis dem linken Operanden zu. Ex: C + = A entspricht C = C + A. |
3 | −= (Subtract and Assignment) Es subtrahiert den rechten Operanden vom linken Operanden und weist das Ergebnis dem linken Operanden zu. Ex: C - = A entspricht C = C - A. |
4 | *= (Multiply and Assignment) Es multipliziert den rechten Operanden mit dem linken Operanden und weist das Ergebnis dem linken Operanden zu. Ex: C * = A entspricht C = C * A. |
5 | /= (Divide and Assignment) Es teilt den linken Operanden mit dem rechten Operanden und weist das Ergebnis dem linken Operanden zu. Ex: C / = A entspricht C = C / A. |
6 | %= (Modules and Assignment) Es nimmt den Modul mit zwei Operanden und weist das Ergebnis dem linken Operanden zu. Ex: C% = A entspricht C = C% A. |
Note - Dieselbe Logik gilt für bitweise Operatoren, sodass sie wie << =, >> =, >> =, & =, | = und ^ = aussehen.
Bedingter Operator (? :)
Der bedingte Operator wertet zuerst einen Ausdruck für einen wahren oder falschen Wert aus und führt dann abhängig vom Ergebnis der Auswertung eine der beiden angegebenen Anweisungen aus.
Beispiel zeigen
Sr.Nr. | Betreiber und Beschreibung |
---|---|
1 | ? : (Conditional ) Wenn Bedingung wahr ist? Dann Wert X: Andernfalls Wert Y. |