Solidność - operatorzy

Co to jest operator?

Weźmy proste wyrażenie 4 + 5 is equal to 9. Tutaj nazywa się 4 i 5operands a „+” nazywa się operator. Solidity obsługuje następujące typy operatorów.

  • Operatory arytmetyczne
  • Operatory porównania
  • Operatory logiczne (lub relacyjne)
  • Operatory przypisania
  • Operatory warunkowe (lub trójskładnikowe)

Przyjrzyjmy się kolejno wszystkim operatorom.

Operatory arytmetyczne

Solidność obsługuje następujące operatory arytmetyczne -

Załóżmy, że zmienna A zawiera 10, a zmienna B 20, a następnie -

Pokaż przykład

Sr.No. Operator i opis
1

+ (Addition)

Dodaje dwa operandy

Ex: A + B da 30

2

- (Subtraction)

Odejmuje drugi operand od pierwszego

Ex: A - B da -10

3

* (Multiplication)

Pomnóż oba operandy

Ex: A * B da 200

4

/ (Division)

Podziel licznik przez mianownik

Ex: B / A da 2

5

% (Modulus)

Wyprowadza resztę z dzielenia liczb całkowitych

Ex: B% A da 0

6

++ (Increment)

Zwiększa wartość całkowitą o jeden

Ex: A ++ da 11

7

-- (Decrement)

Zmniejsza wartość całkowitą o jeden

Ex: A-- da 9

Operatory porównania

Solidity obsługuje następujące operatory porównania -

Załóżmy, że zmienna A zawiera 10, a zmienna B 20, a następnie -

Pokaż przykład

Sr.No. Operator i opis
1

= = (Equal)

Sprawdza, czy wartości dwóch operandów są równe, czy nie, jeśli tak, warunek staje się prawdziwy.

Ex: (A == B) nie jest prawdą.

2

!= (Not Equal)

Sprawdza, czy wartości dwóch operandów są równe, czy nie, jeśli wartości nie są równe, wtedy warunek staje się prawdziwy.

Ex: (A! = B) jest prawdą.

3

> (Greater than)

Sprawdza, czy wartość lewego operandu jest większa niż wartość prawego operandu. Jeśli tak, warunek staje się prawdziwy.

Ex: (A> B) nie jest prawdą.

4

< (Less than)

Sprawdza, czy wartość lewego operandu jest mniejsza niż wartość prawego operandu. Jeśli tak, warunek staje się prawdziwy.

Ex: (A <B) jest prawdą.

5

>= (Greater than or Equal to)

Sprawdza, czy wartość lewego operandu jest większa lub równa wartości prawego operandu. Jeśli tak, warunek staje się prawdziwy.

Ex: (A> = B) nie jest prawdą.

6

<= (Less than or Equal to)

Sprawdza, czy wartość lewego operandu jest mniejsza lub równa wartości prawego operandu. Jeśli tak, warunek staje się prawdziwy.

Ex: (A <= B) jest prawdą.

Operatory logiczne

Solidity obsługuje następujące operatory logiczne -

Załóżmy, że zmienna A zawiera 10, a zmienna B 20, a następnie -

Pokaż przykład

Sr.No. Operator i opis
1

&& (Logical AND)

Jeśli oba operandy są niezerowe, warunek staje się prawdziwy.

Ex: (A && B) jest prawdą.

2

|| (Logical OR)

Jeśli którykolwiek z dwóch operandów jest niezerowy, warunek staje się prawdziwy.

Ex: (A || B) jest prawdą.

3

! (Logical NOT)

Odwraca stan logiczny swojego operandu. Jeśli warunek jest prawdziwy, operator logiczny NIE spowoduje, że będzie fałszywy.

Ex:! (A && B) jest fałszem.

Operatory bitowe

Solidity obsługuje następujące operatory bitowe -

Załóżmy, że zmienna A zawiera 2, a zmienna B 3, a następnie -

Pokaż przykład

Sr.No. Operator i opis
1

& (Bitwise AND)

Wykonuje operację logiczną AND na każdym bicie argumentów całkowitych.

Ex: (A i B) wynosi 2.

2

| (BitWise OR)

Wykonuje operację logiczną LUB na każdym bicie argumentów całkowitych.

Ex: (A | B) wynosi 3.

3

^ (Bitwise XOR)

Wykonuje logiczną operację OR na wyłączność na każdym bicie argumentów całkowitych. Wyłączne OR oznacza, że ​​albo operand pierwszy jest prawdziwy, albo operand drugi jest prawdziwy, ale nie oba.

Ex: (A ^ B) wynosi 1.

4

~ (Bitwise Not)

Jest operatorem jednoargumentowym i działa poprzez odwrócenie wszystkich bitów w operandzie.

Ex: (~ B) wynosi -4.

5

<< (Left Shift)

Przenosi wszystkie bity w pierwszym operandzie w lewo o liczbę miejsc określoną w drugim operandzie. Nowe bity są wypełnione zerami. Przesunięcie wartości w lewo o jedną pozycję jest równoznaczne z pomnożeniem jej przez 2, przesunięcie o dwie pozycje jest równoważne z pomnożeniem przez 4 i tak dalej.

Ex: (A << 1) to 4.

6

>> (Right Shift)

Binarny operator przesunięcia w prawo. Wartość lewego operandu jest przesuwana w prawo o liczbę bitów określoną przez prawy operand.

Ex: (A >> 1) wynosi 1.

7

>>> (Right shift with Zero)

Ten operator jest podobny do operatora >>, z tą różnicą, że bity przesunięte po lewej stronie są zawsze równe zero.

Ex: (A >>> 1) wynosi 1.

Operatory przypisania

Solidity obsługuje następujące operatory przypisania -

Pokaż przykład

Sr.No. Operator i opis
1

= (Simple Assignment )

Przypisuje wartości z prawego operandu do lewego operandu

Ex: C = A + B przypisze wartość A + B do C.

2

+= (Add and Assignment)

Dodaje prawy operand do lewego operandu i przypisuje wynik do lewego operandu.

Ex: C + = A jest równoważne C = C + A

3

−= (Subtract and Assignment)

Odejmuje prawy operand od lewego operandu i przypisuje wynik do lewego operandu.

Ex: C - = A jest równoważne C = C - A

4

*= (Multiply and Assignment)

Mnoży prawy operand przez lewy operand i przypisuje wynik lewemu operandowi.

Ex: C * = A jest równoważne C = C * A

5

/= (Divide and Assignment)

Dzieli lewy operand z prawym operandem i przypisuje wynik lewemu operandowi.

Ex: C / = A jest równoważne C = C / A

6

%= (Modules and Assignment)

Pobiera moduł używając dwóch operandów i przypisuje wynik do lewego operandu.

Ex: C% = A jest równoważne C = C% A

Note - Ta sama logika dotyczy operatorów bitowych, więc będą wyglądać jak << =, >> =, >> =, & =, | = i ^ =.

Operator warunkowy (? :)

Operator warunkowy najpierw ocenia wyrażenie pod kątem wartości prawda lub fałsz, a następnie wykonuje jedną z dwóch podanych instrukcji w zależności od wyniku oceny.

Pokaż przykład

Sr.No. Operator i opis
1

? : (Conditional )

Jeśli warunek jest prawdziwy? Wtedy wartość X: W przeciwnym razie wartość Y