Solidez - Operadores

O que é um operador?

Vamos dar uma expressão simples 4 + 5 is equal to 9. Aqui 4 e 5 são chamadosoperands e '+' é chamado de operator. Solidity oferece suporte aos seguintes tipos de operadores.

  • Operadores aritméticos
  • Operadores de comparação
  • Operadores lógicos (ou relacionais)
  • Operadores de atribuição
  • Operadores condicionais (ou ternários)

Vamos dar uma olhada em todos os operadores, um por um.

Operadores aritméticos

O Solidity suporta os seguintes operadores aritméticos -

Suponha que a variável A tenha 10 e a variável B tenha 20, então -

Mostrar exemplo

Sr. Não. Operador e descrição
1

+ (Addition)

Adiciona dois operandos

Ex: A + B dará 30

2

- (Subtraction)

Subtrai o segundo operando do primeiro

Ex: A - B dará -10

3

* (Multiplication)

Multiplique os dois operandos

Ex: A * B dará 200

4

/ (Division)

Divida o numerador pelo denominador

Ex: B / A dará 2

5

% (Modulus)

Produz o resto de uma divisão inteira

Ex: B% A dará 0

6

++ (Increment)

Aumenta um valor inteiro em um

Ex: A ++ dará 11

7

-- (Decrement)

Diminui um valor inteiro em um

Ex: A-- dará 9

Operadores de comparação

O Solidity oferece suporte aos seguintes operadores de comparação -

Suponha que a variável A tenha 10 e a variável B tenha 20, então -

Mostrar exemplo

Sr. Não. Operador e descrição
1

= = (Equal)

Verifica se o valor de dois operandos é igual ou não, caso positivo a condição torna-se verdadeira.

Ex: (A == B) não é verdade.

2

!= (Not Equal)

Verifica se o valor de dois operandos são iguais ou não, se os valores não são iguais, a condição se torna verdadeira.

Ex: (A! = B) é verdade.

3

> (Greater than)

Verifica se o valor do operando esquerdo é maior que o valor do operando direito, se sim, a condição se torna verdadeira.

Ex: (A> B) não é verdade.

4

< (Less than)

Verifica se o valor do operando esquerdo é menor que o valor do operando direito, se sim, a condição se torna verdadeira.

Ex: (A <B) é verdade.

5

>= (Greater than or Equal to)

Verifica se o valor do operando esquerdo é maior ou igual ao valor do operando direito, se sim, a condição se torna verdadeira.

Ex: (A> = B) não é verdade.

6

<= (Less than or Equal to)

Verifica se o valor do operando esquerdo é menor ou igual ao valor do operando direito, se sim, a condição se torna verdadeira.

Ex: (A <= B) é verdadeiro.

Operadores lógicos

Solidity suporta os seguintes operadores lógicos -

Suponha que a variável A tenha 10 e a variável B tenha 20, então -

Mostrar exemplo

Sr. Não. Operador e descrição
1

&& (Logical AND)

Se ambos os operandos forem diferentes de zero, a condição se torna verdadeira.

Ex: (A && B) é verdade.

2

|| (Logical OR)

Se qualquer um dos dois operandos for diferente de zero, a condição se torna verdadeira.

Ex: (A || B) é verdade.

3

! (Logical NOT)

Reverte o estado lógico de seu operando. Se uma condição for verdadeira, o operador lógico NOT a tornará falsa.

Ex:! (A && B) é falso.

Operadores bit a bit

O Solidity oferece suporte aos seguintes operadores bit a bit -

Suponha que a variável A tenha 2 e a variável B tenha 3, então -

Mostrar exemplo

Sr. Não. Operador e descrição
1

& (Bitwise AND)

Ele executa uma operação booleana AND em cada bit de seus argumentos inteiros.

Ex: (A e B) é 2.

2

| (BitWise OR)

Ele executa uma operação booleana OR em cada bit de seus argumentos inteiros.

Ex: (A | B) é 3.

3

^ (Bitwise XOR)

Ele executa uma operação booleana OU exclusiva em cada bit de seus argumentos inteiros. OR exclusivo significa que o operando um é verdadeiro ou o operando dois é verdadeiro, mas não ambos.

Ex: (A ^ B) é 1.

4

~ (Bitwise Not)

É um operador unário e opera invertendo todos os bits do operando.

Ex: (~ B) é -4.

5

<< (Left Shift)

Ele move todos os bits em seu primeiro operando para a esquerda pelo número de casas especificado no segundo operando. Novos bits são preenchidos com zeros. Deslocar um valor para a esquerda em uma posição é equivalente a multiplicá-lo por 2, deslocar duas posições é equivalente a multiplicar por 4 e assim por diante.

Ex: (A << 1) é 4.

6

>> (Right Shift)

Operador binário de deslocamento à direita. O valor do operando esquerdo é movido para a direita pelo número de bits especificado pelo operando direito.

Ex: (A >> 1) é 1.

7

>>> (Right shift with Zero)

Este operador é como o operador >>, exceto que os bits deslocados à esquerda são sempre zero.

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

Operadores de atribuição

O Solidity oferece suporte aos seguintes operadores de atribuição -

Mostrar exemplo

Sr. Não. Operador e descrição
1

= (Simple Assignment )

Atribui valores do operando do lado direito para o operando do lado esquerdo

Ex: C = A + B irá atribuir o valor de A + B em C

2

+= (Add and Assignment)

Ele adiciona o operando direito ao operando esquerdo e atribui o resultado ao operando esquerdo.

Ex: C + = A é equivalente a C = C + A

3

−= (Subtract and Assignment)

Ele subtrai o operando direito do operando esquerdo e atribui o resultado ao operando esquerdo.

Ex: C - = A é equivalente a C = C - A

4

*= (Multiply and Assignment)

Ele multiplica o operando direito pelo operando esquerdo e atribui o resultado ao operando esquerdo.

Ex: C * = A é equivalente a C = C * A

5

/= (Divide and Assignment)

Ele divide o operando esquerdo com o operando direito e atribui o resultado ao operando esquerdo.

Ex: C / = A é equivalente a C = C / A

6

%= (Modules and Assignment)

Leva o módulo usando dois operandos e atribui o resultado ao operando esquerdo.

Ex: C% = A é equivalente a C = C% A

Note - A mesma lógica se aplica aos operadores bit a bit, então eles se tornarão como << =, >> =, >> =, & =, | = e ^ =.

Operador condicional (? :)

O operador condicional primeiro avalia uma expressão para um valor verdadeiro ou falso e, em seguida, executa uma das duas instruções fornecidas, dependendo do resultado da avaliação.

Mostrar exemplo

Sr. Não. Operador e descrição
1

? : (Conditional )

Se a condição for verdadeira? Então valor X: Caso contrário, valor Y