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 |