Operadores disponíveis e Funções

Criar expressões usando dados, operadores, funções matemáticas e conversões de tipos de dados.

Operadores

Operador inteiro

Utilize estes operadores para realizar operações aritméticas simples. Use-os para calcular valores numéricos, como "TankLevel + 60".

Operador

Expressão

Descrição

[+]

X + Y

Adicionar

[-]

X - Y

Atrasar

[*]

X * Y

Multiplicar

[/]

X / Y

Dividir

[%]

X % Y

Resto da divisão

[()]

(X + Y)*10

 

Utilize o operador de Adição (+) para executar a concatenação da string. Em outras palavras, é possível concatenar strings com o símbolo de Adição; "Hello " + " " + "Billy" cria o string "Hello Billy".

Operador bitwise

Operador

Expressão

Descrição

[>>]

X >> Y

Deslocamento para direita. Desloque os bits em X, para a direita, pelo número Y de posições de bits. Preserva o sinal.

[<<]

X << Y

Deslocamento para a esquerda. Desloque os bits em X, para a esquerda, pelo número Y de posições de bits. Preserva o sinal.

[>>>]

X >>> Y

Preenchimento zero, deslocamento para a direita. Desloca os bits em X, para a direita, pelo número Y de posições de bits e preenche bits deslocados à esquerda com 0s, não preservando o sinal.

[&]

X & Y

Devolve o resultado de uma operação AND no nível do bit.

Se X = 0110; Y= 0100 então o resultado será 1100

[|]

X | Y

Devolve o resultado de uma operação OR no nível do bit.

Se X = 0110; Y= 1110 então o resultado será 1100

[^]

X ^ Y

Devolve o resultado de uma operação XOR no nível do bit.

Se X = 0110; Y= 1010 então o resultado será 1100

[~]

~X

Vira os bits no valor X.

Se X = 0110; então o resultado será 1001

[!]

!X

Retorna verdadeiro quando X não é igual.

Observação:

  • OR/AND/XOR/NOT sempre retorna um valor inteiro de 32 bits não identificada.
  • Quando o valor de entrada é negativo, as expressões de deslocamento de bit retornam um valor inteiro de 32 bit.
  • Quando o valor de entrada é positivo, as expressões de deslocamento de bit retornam um valor inteiro de 32 bit não identificada.

 

Operador de saída BOOL

Estes operadores comparam dois valores. A expressão se torna verdadeira quando a comparação definida é verdade. A expressão se torna falsa quando a comparação definida é falsa. Use-os para comparar valores numéricos, como "TankLevel > 30".

Quando um dos seguintes ocorre em um valor, o resultado é indefinido:
  • Erro de comunicação (variável com qualidade “ruim”)
  • Acessando o número de elemento da matriz que está fora dos limites
  • Divida por zero.

Operador

Expressão

Descrição

[&&]

X && Y

AND Lógico.

Observação:

  • As expressões BOOL em um conversor devem ser avaliadas como um valor booleano. Se a expressão avalia para qualquer outro tipo de dados, o valor é indefinido.
  • Mesmo que o valor de um dos operandos possa ser indefinido, a condição lógica resultante pode ser avaliada como falso se o outro operando for falso. Por favor, veja a tabela abaixo.
    Operador esquerdo Operador direito Resultado
    Indefinido Indefinido Indefinido
    Indefinido true Indefinido
    Indefinido false false
    true Indefinido Indefinido
    false Indefinido false

[||]

X || Y

OR Lógico.

Observação:

  • As expressões BOOL em um conversor devem ser avaliadas como um valor booleano. Se a expressão avalia para qualquer outro tipo de dados, o valor é indefinido.
  • Mesmo que o valor de um dos operandos possa ser indefinido, a condição lógica resultante pode ser avaliada como verdadeira se o outro operando for verdadeiro. Por favor, veja a tabela abaixo.
    Operador esquerdo Operador direito Resultado
    Indefinido Indefinido Indefinido
    Indefinido true true
    Indefinido false Indefinido
    true Indefinido

    true

    false Indefinido Indefinido

[==]

X == Y

Se torna verdade quando X é igual a Y.

[!=]

X != Y

Se torna verdade quando X não é igual a Y.

[<=]

X <= Y

Se torna verdade quando X menor que ou igual a Y.

Observação: Este operador não pode ser usado para variável BOOL, variável STRING e variável WSTRING.

[>=]

X >= Y

Se torna verdade quando X maior que ou igual a Y.

Observação: Este operador não pode ser usado para variável BOOL, variável STRING e variável WSTRING.

[<]

X < Y

Se torna verdade quando X é menor que Y.

Observação: Este operador não pode ser usado para variável BOOL, variável STRING e variável WSTRING.

[>]

X > Y

Se torna verdade quando X é maior que Y.

Observação: Este operador não pode ser usado para variável BOOL, variável STRING e variável WSTRING.

Math

Método

Descrição

abs(a)

Devolve o valor absoluto.

parâmetro: inteiro, retornar: inteiro -ou-
parâmetro: longo, retornar: longo -ou-
parâmetro: flutuante, retornar: flutuante -ou-
parâmetro: duplo, retornar: duplo

acos(duplica a)

Devolve o arco co-seno.

parâmetro: duplo, retornar: duplo

asin(duplica a)

Devolve o arco seno.

parâmetro: duplo, retornar: duplo

atan(duplica a)

Devolve o arco tangente.

parâmetro: duplo, retornar: duplo

atan2(duplica a, duplica b)

Devolve o arco tangente de a/b.

parâmetro a: duplo, parâmetro b: duplo, retornar: duplo

ceil(duplica a)

Devolve o menor integer que é maior que o parâmetro.

parâmetro: duplo, retornar: duplo

cos(duplica a)

Devolve o co-seno.

parâmetro: duplo, retornar: duplo

E

Valor base de logaritmos naturais. Número de ponto flutuante de dupla precisão. 2,71828182845904523545f

Observação: Use a sintaxe Math.E.

exp(duplica a)

Devolve o número exponencial e (ou seja, 2,718...) elevado à potência de um valor duplo.

parâmetro: duplo, retornar: duplo

floor(duplica a)

Devolve o maior integer que é menor que o parâmetro.

parâmetro: duplo, retornar: duplo

IEEEremainder(duplica a, duplica b)

Devolve o lembrete quando o parâmetro a é dividido pelo parâmetro b.

parâmetro a: duplo, parâmetro b: duplo, retornar: duplo

log(duplica a)

Devolve o logaritmo natural do parâmetro.

parâmetro: duplo, retornar: duplo

max(a,b)

Devolve o maior de 2 parâmetros.

parâmetro a: inteiro, parâmetro b: inteiro, retornar: inteiro -ou-
parâmetro a: longo, parâmetro b: longo, retornar: longo -ou-
parâmetro a: flutuante, parâmetro b: flutuante, retornar: flutuante -ou-
parâmetro a: duplo, parâmetro b: duplo, retornar: duplo

min(a,b)

Devolve o menor de 2 parâmetros.

parâmetro a: inteiro, parâmetro b: inteiro, retornar: inteiro -ou-
parâmetro a: longo, parâmetro b: longo, retornar: longo -ou-
parâmetro a: flutuante, parâmetro b: flutuante, retornar: flutuante -ou-
parâmetro a: duplo, parâmetro b: duplo, retornar: duplo

PI

O raio da circunferência de um círculo para seu diâmetro.

3,14159265358979323846f

Observação: Use a sintaxe Math.PI.

pow(duplica a, duplica b)

Retorna ab.

parâmetro a: duplo, parâmetro b: duplo, retornar: duplo

random()

Devolve um número aleatório entre 0,0 e 1,0.

parâmetro: nenhum, retornar: duplo

Observação: A saída desta função é um número de ponto flutuante entre 0 e 1.

rint(duplica a)

Devolve o integer mais próximo do parâmetro.

parâmetro: duplo, retornar: duplo

round(a)

Devolve a largura mais próxima para um parâmetro duplo e o integer mais próximo para um parâmetro flutuante.

parâmetro: duplo, retornar: longo -ou-
parâmetro: flutuante, retornar: inteiro

sin(duplica a)

Devolve o seno do parâmetro.

parâmetro: duplo, retornar: duplo

sqrt(duplica a)

Devolve a raiz quadrada do parâmetro.

parâmetro: duplo, retornar: duplo

tan(duplica a)

Devolve a tangente do parâmetro.

parâmetro: duplo, retornar: duplo

Conversão de Tipo

Use a conversão de tipo para converter o tipo de dados. Veja a seguir um exemplo de uma expressão válida em que as variáveis LWORD é convertida em variável SINT:

Tipo

Descrição

(sint)

Retorna o valor arredondado em 8 bit inteiro identificado.

(usint)

Retorna o valor arredondado em 8 bit inteiro não identificado.

(byte)

Retorna o valor arredondado em 8 bit inteiro não identificado.

(int)

Retorna o valor arredondado em 16 bit inteiro identificado.

(uint)

Retorna o valor arredondado em 16 bit inteiro não identificado.

(word)

Retorna o valor arredondado em 16 bit inteiro não identificado.

(dint)

Retorna o valor arredondado em 32 bit inteiro identificado.