F # - Operadores

Um operador é um símbolo que diz ao compilador para realizar manipulações matemáticas ou lógicas específicas. F # é rico em operadores integrados e fornece os seguintes tipos de operadores -

  • Operadores aritméticos
  • Operadores de comparação
  • Operadores booleanos
  • Operadores bit a bit

Operadores aritméticos

A tabela a seguir mostra todos os operadores aritméticos suportados pela linguagem F #. Suponha que a variável A tenha 10 e a variável B tenha 20, então -

Mostrar exemplo

Operador Descrição Exemplo
+ Adiciona dois operandos A + B dará 30
- Subtrai o segundo operando do primeiro A - B dará -10
* Multiplica ambos os operandos A * B dará 200
/ Divide numerador por de-numerador B / A dará 2
% Operador de Módulo e o restante após uma divisão inteira B% A dará 0
** Operador de exponenciação, eleva um operando à potência de outro B ** A dará 20 10

Operadores de comparação

A tabela a seguir mostra todos os operadores de comparação suportados pela linguagem F #. Esses operadores de comparação binários estão disponíveis para tipos integrais e de ponto flutuante. Esses operadores retornam valores do tipo bool.

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

Mostrar exemplo

Operador Descrição Exemplo
= Verifica se os valores dos dois operandos são iguais ou não, se sim a condição torna-se verdadeira. (A == B) não é verdade.
<> Verifica se os valores de dois operandos são iguais ou não; se os valores não são iguais, a condição se torna verdadeira. (A <> B) é verdade.
> Verifica se o valor do operando esquerdo é maior que o valor do operando direito, se sim a condição torna-se verdadeira. (A> B) não é verdade.
< Verifica se o valor do operando esquerdo é menor que o valor do operando direito; se sim, a condição torna-se verdadeira. (A <B) é verdade.
> = Verifica se o valor do operando esquerdo é maior ou igual ao valor do operando direito, se sim a condição torna-se verdadeira. (A> = B) não é verdade.
<= Verifica se o valor do operando esquerdo é menor ou igual ao valor do operando direito, se sim, a condição torna-se verdadeira. (A <= B) é verdadeiro.

Operadores booleanos

A tabela a seguir mostra todos os operadores booleanos suportados pela linguagem F #. Suponha que a variável A seja mantidatrue e a variável B mantém false, então -

Mostrar exemplo

Operador Descrição Exemplo
&& Operador booleano AND chamado. Se ambos os operandos forem diferentes de zero, a condição se torna verdadeira. (A && B) é falso.
|| Operador Booleano OU chamado. Se qualquer um dos dois operandos for diferente de zero, a condição se torna verdadeira. (A || B) é verdade.
não Operador booleano NOT chamado. Use para reverter o estado lógico de seu operando. Se uma condição for verdadeira, o operador lógico NOT tornará falso. não (A && B) é verdadeiro.

Operadores bit a bit

Operadores bit a bit trabalham em bits e executam operações bit a bit. As tabelas de verdade para &&& (bit a bit AND), ||| (OR bit a bit) e ^^^ (OR exclusivo bit a bit) são os seguintes -

Mostrar exemplo

p q p &&& q p ||| q p ^^^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

Suponha que A = 60; e B = 13; agora em formato binário serão os seguintes -

A = 0011 1100

B = 0000 1101

-----------------

A &&& B = 0000 1100

A ||| B = 0011 1101

A ^^^ B = 0011 0001

~~~ A = 1100 0011

Os operadores bit a bit suportados pela linguagem F # estão listados na tabela a seguir. Suponha que a variável A tenha 60 e a variável B tenha 13, então -

Operador Descrição Exemplo
&&& O operador Binário AND copia um bit para o resultado se ele existir em ambos os operandos. (A &&& B) dará 12, que é 0000 1100
||| O operador binário OR copia um bit se ele existir em qualquer operando. (A ||| B) dará 61, que é 0011 1101
^^^ O operador binário XOR copia o bit se for definido em um operando, mas não em ambos. (A ^^^ B) dará 49, que é 0011 0001
~~~ O operador de complemento binários é unário e tem o efeito de 'inverter' bits. (~~~ A) resultará em -61, que é 1100 0011 na forma de complemento de 2.
<<< Operador binário de deslocamento à esquerda. O valor dos operandos à esquerda é movido para a esquerda pelo número de bits especificado pelo operando à direita. Um <<< 2 dará 240 que é 1111 0000
>>> Operador binário de deslocamento à direita. O valor dos operandos à esquerda é movido para a direita pelo número de bits especificado pelo operando à direita. Um >>> 2 dará 15, que é 0000 1111

Precedência de operadores

A tabela a seguir mostra a ordem de precedência dos operadores e outras palavras-chave de expressão na linguagem F #, da precedência mais baixa para a precedência mais alta.

Mostrar exemplo

Operador Associatividade
Como Certo
quando Certo
| (tubo) Esquerda
; Certo
deixei Não associativo
função, diversão, combinar, tentar Não associativo
E se Não associativo
Certo
: = Certo
, Não associativo
ou, || Esquerda
&, && Esquerda
<op,> op, =, | op, & op Esquerda
&&&, |||, ^^^, ~~~, <<<, >>> Esquerda
^ op Certo
:: Certo
:?>,:? Não associativo
- op, + op, (binário) Esquerda
* op, / op,% op Esquerda
** op Certo
fx (aplicativo de função) Esquerda
| (correspondência de padrão) Certo
operadores de prefixo (+ op, -op,%, %%, &, &&,! op, ~ op) Esquerda
. Esquerda
f (x) Esquerda
f <tipos> Esquerda