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 -

Mostrar ejemplo

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 -

Mostrar ejemplo

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 -

Mostrar ejemplo

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:

Mostrar ejemplo

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.

Mostrar ejemplo

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