Учебники

F # — Операторы

Оператор — это символ, который указывает компилятору выполнять определенные математические или логические манипуляции. F # богат встроенными операторами и предоставляет следующие типы операторов —

  • Арифметические Операторы
  • Операторы сравнения
  • Булевы операторы
  • Битовые операторы

Арифметические Операторы

В следующей таблице показаны все арифметические операторы, поддерживаемые языком F #. Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда —

Показать пример

оператор Описание пример
+ Добавляет два операнда А + Б даст 30
Вычитает второй операнд из первого A — B даст -10
* Умножает оба операнда А * Б даст 200
/ Делит числитель на числитель Б / у даст 2
% Оператор модуля и остаток от целочисленного деления B% A даст 0
** Оператор возведения в степень, поднимает операнд во власть другого Б ** А даст 20 10

Операторы сравнения

В следующей таблице показаны все операторы сравнения, поддерживаемые языком F #. Эти операторы двоичного сравнения доступны для целочисленных типов и типов с плавающей точкой. Эти операторы возвращают значения типа bool.

Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда —

Показать пример

оператор Описание пример
знак равно Проверяет, равны ли значения двух операндов или нет, если да, тогда условие становится истинным. (A == B) не соответствует действительности.
<> Проверяет, равны ли значения двух операндов или нет, если значения не равны, тогда условие становится истинным. (A <> B) верно.
> Проверяет, больше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным. (A> B) не соответствует действительности.
< Проверяет, меньше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным. (A <B) верно.
> = Проверяет, больше ли значение левого операнда или равно значению правого операнда, если да, тогда условие становится истинным. (A> = B) не соответствует действительности.
<= Проверяет, меньше ли значение левого операнда или равно значению правого операнда, если да, тогда условие становится истинным. (A <= B) верно.

Булевы операторы

В следующей таблице показаны все логические операторы, поддерживаемые языком F #. Предположим, что переменная A имеет значение true, а переменная B содержит значение false, тогда —

Показать пример

оператор Описание пример
&& Вызывается логическим оператором AND. Если оба операнда отличны от нуля, условие становится истинным. (A && B) неверно.
|| Вызывается логическим оператором ИЛИ Если любой из двух операндов отличен от нуля, условие становится истинным. (A || B) верно.
не Вызывается логическое НЕ оператор. Используйте для изменения логического состояния своего операнда. Если условие истинно, то оператор Логический НЕ будет делать ложь. не (A && B) верно.

Битовые операторы

Битовые операторы работают с битами и выполняют побитовые операции. Таблицы истинности для &&& (побитовое И), ||| (побитовое ИЛИ) и ^^^ (побитовое исключающее ИЛИ):

Показать пример

п Q p &&& q р ||| Q p ^^^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

Предположим, если А = 60; и B = 13; теперь в двоичном формате они будут выглядеть следующим образом —

A = 0011 1100

B = 0000 1101

——————

A &&& B = 0000 1100

A ||| B = 0011 1101

A ^^^ B = 0011 0001

~~~ A = 1100 0011

Побитовые операторы, поддерживаемые языком F #, перечислены в следующей таблице. Предположим, что переменная A содержит 60, а переменная B содержит 13, тогда —

оператор Описание пример
&&& Двоичный оператор AND немного копирует результат, если он существует в обоих операндах. (A &&& B) даст 12, что составляет 0000 1100
||| Оператор двоичного ИЛИ копирует немного, если он существует в любом из операндов. (A ||| B) даст 61, что составляет 0011 1101
^^^ Двоичный оператор XOR копирует бит, если он установлен в одном операнде, но не в обоих. (A ^^^ B) даст 49, что составляет 0011 0001
~~~ Оператор дополнения двоичных единиц является унарным и имеет эффект «переворачивания» битов. (~~~ A) даст -61, что составляет 1100 0011 в форме дополнения 2.
<<< Двоичный оператор левого сдвига. Значение левого операнда перемещается влево на количество битов, указанное правым операндом. <<< 2 даст 240, что составляет 1111 0000
>>> Оператор двоичного правого сдвига. Значение левого операнда перемещается вправо на количество битов, указанное правым операндом. A >>> 2 даст 15, что равно 0000 1111

Приоритет операторов

В следующей таблице показан порядок приоритета операторов и других ключевых слов выражений в языке F #, от самого низкого приоритета до самого высокого приоритета.

Показать пример