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 |