F # - Operadores
Un operador es un símbolo que le dice al compilador que realice manipulaciones matemáticas o lógicas específicas. F # es rico en operadores integrados y proporciona los siguientes tipos de operadores:
- Operadores aritméticos
- Operadores de comparación
- Operadores booleanos
- Operadores bit a bit
Operadores aritméticos
La siguiente tabla muestra todos los operadores aritméticos admitidos por el lenguaje F #. Suponga que la variable A tiene 10 y la variable B tiene 20, entonces -
Operador | Descripción | Ejemplo |
---|---|---|
+ | Agrega dos operandos | A + B dará 30 |
- | Resta el segundo operando del primero | A - B dará -10 |
* | Multiplica ambos operandos | A * B dará 200 |
/ | Divide el numerador por el numerador | B / A dará 2 |
% | Operador de módulo y resto de después de una división entera | B% A dará 0 |
** | Operador de exponenciación, eleva un operando a la potencia de otro | B ** A dará 20 10 |
Operadores de comparación
La siguiente tabla muestra todos los operadores de comparación admitidos por el lenguaje F #. Estos operadores de comparación binaria están disponibles para tipos integrales y de punto flotante. Estos operadores devuelven valores de tipo bool.
Suponga que la variable A tiene 10 y la variable B tiene 20, entonces -
Operador | Descripción | Ejemplo |
---|---|---|
= | Comprueba si los valores de dos operandos son iguales o no, si es así, la condición se convierte en verdadera. | (A == B) no es cierto. |
<> | Comprueba si los valores de dos operandos son iguales o no, si los valores no son iguales, la condición se convierte en verdadera. | (A <> B) es cierto. |
> | Comprueba si el valor del operando izquierdo es mayor que el valor del operando derecho, si es así, la condición se convierte en verdadera. | (A> B) no es cierto. |
< | Comprueba si el valor del operando izquierdo es menor que el valor del operando derecho, si es así, la condición se convierte en verdadera. | (A <B) es cierto. |
> = | Comprueba si el valor del operando izquierdo es mayor o igual que el valor del operando derecho, si es así, la condición se convierte en verdadera. | (A> = B) no es cierto. |
<= | Comprueba si el valor del operando izquierdo es menor o igual que el valor del operando derecho, si es así, la condición se convierte en verdadera. | (A <= B) es cierto. |
Operadores booleanos
La siguiente tabla muestra todos los operadores booleanos compatibles con el lenguaje F #. Suponga que la variable A se cumpletrue y la variable B se mantiene false, entonces -
Operador | Descripción | Ejemplo |
---|---|---|
&& | Operador booleano AND llamado. Si ambos operandos son distintos de cero, la condición se vuelve verdadera. | (A && B) es falso. |
|| | Operador OR booleano llamado. Si alguno de los dos operandos es distinto de cero, la condición se cumple. | (A || B) es cierto. |
no | Operador NOT booleano llamado. Úselo para revertir el estado lógico de su operando. Si una condición es verdadera, el operador NOT lógico la convertirá en falsa. | no (A && B) es cierto. |
Operadores bit a bit
Los operadores bit a bit trabajan en bits y realizan operaciones bit a bit. Las tablas de verdad para &&& (AND bit a bit), ||| (OR bit a bit) y ^^^ (OR exclusivo bit a bit) son los siguientes:
pags | 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 |
Suponga si A = 60; y B = 13; ahora en formato binario serán los siguientes:
A = 0011 1100
B = 0000 1101
-----------------A &&& B = 0000 1100
A ||| B = 0011 1101
A ^^^ B = 0011 0001
~~~ A = 1100 0011
Los operadores bit a bit admitidos por el lenguaje F # se enumeran en la siguiente tabla. Suponga que la variable A tiene 60 y la variable B tiene 13, entonces -
Operador | Descripción | Ejemplo |
---|---|---|
&&& | El operador AND binario copia un bit al resultado si existe en ambos operandos. | (A &&& B) dará 12, que es 0000 1100 |
||| | El operador OR binario copia un bit si existe en cualquiera de los operandos. | (A ||| B) dará 61, que es 0011 1101 |
^^^ | El operador binario XOR copia el bit si está configurado en un operando pero no en ambos. | (A ^^^ B) dará 49, que es 0011 0001 |
~~~ | El operador de complemento binario es unario y tiene el efecto de "voltear" bits. | (~~~ A) dará -61, que es 1100 0011 en forma de complemento a 2. |
<<< | Operador binario de desplazamiento a la izquierda. El valor de los operandos de la izquierda se mueve a la izquierda el número de bits especificado por el operando de la derecha. | Un <<< 2 dará 240 que es 1111 0000 |
>>> | Operador de cambio a la derecha binario. El valor de los operandos de la izquierda se mueve hacia la derecha el número de bits especificado por el operando de la derecha. | A >>> 2 dará 15 que es 0000 1111 |
Precedencia de operadores
La siguiente tabla muestra el orden de prioridad de los operadores y otras palabras clave de expresión en el lenguaje F #, desde la prioridad más baja hasta la más alta.
Operador | Asociatividad |
---|---|
como | Derecha |
cuando | Derecha |
| (tubo) | Izquierda |
; | Derecha |
dejar | No asociativo |
función, diversión, emparejar, probar | No asociativo |
Si | No asociativo |
→ | Derecha |
: = | Derecha |
, | No asociativo |
o, || | Izquierda |
&, && | Izquierda |
<op,> op, =, | op y op | Izquierda |
&&&, |||, ^^^, ~~~, <<<, >>> | Izquierda |
^ op | Derecha |
:: | Derecha |
:?>,:? | No asociativo |
- op, + op, (binario) | Izquierda |
* op, / op,% op | Izquierda |
** op | Derecha |
fx (aplicación de función) | Izquierda |
| (coincidencia de patrones) | Derecha |
operadores de prefijo (+ op, -op,%, %%, &, &&,! op, ~ op) | Izquierda |
. | Izquierda |
f (x) | Izquierda |
f <tipos> | Izquierda |