F # - Toán tử

Một toán tử là một ký hiệu yêu cầu trình biên dịch thực hiện các thao tác toán học hoặc logic cụ thể. F # có nhiều toán tử cài sẵn và cung cấp các loại toán tử sau:

  • Toán tử số học
  • Toán tử so sánh
  • Toán tử Boolean
  • Toán tử Bitwise

Toán tử số học

Bảng sau đây cho thấy tất cả các toán tử số học được ngôn ngữ F # hỗ trợ. Giả sử biến A giữ 10 và biến B giữ 20 thì -

Hiển thị ví dụ

Nhà điều hành Sự miêu tả Thí dụ
+ Thêm hai toán hạng A + B sẽ cho 30
- Trừ toán hạng thứ hai với toán hạng đầu tiên A - B sẽ cho -10
* Nhân cả hai toán hạng A * B sẽ cho 200
/ Chia tử số cho tử số B / A sẽ cho 2
% Toán tử mô đun và phần còn lại của sau một phép chia số nguyên B% A sẽ cho 0
** Toán tử lũy thừa, nâng một toán hạng lên lũy thừa của một toán hạng khác B ** A sẽ cho 20 10

Toán tử so sánh

Bảng sau đây cho thấy tất cả các toán tử so sánh được hỗ trợ bởi ngôn ngữ F #. Các toán tử so sánh nhị phân này có sẵn cho các kiểu tích phân và dấu phẩy động. Các toán tử này trả về giá trị kiểu bool.

Giả sử biến A giữ 10 và biến B giữ 20, thì -

Hiển thị ví dụ

Nhà điều hành Sự miêu tả Thí dụ
= Kiểm tra xem giá trị của hai toán hạng có bằng nhau hay không, nếu có thì điều kiện trở thành true. (A == B) không đúng.
<> Kiểm tra xem giá trị của hai toán hạng có bằng nhau hay không, nếu các giá trị không bằng nhau thì điều kiện trở thành true. (A <> B) là đúng.
> Kiểm tra xem giá trị của toán hạng bên trái có lớn hơn giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành true. (A> B) không đúng.
< Kiểm tra xem giá trị của toán hạng bên trái có nhỏ hơn giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành true. (A <B) là đúng.
> = Kiểm tra xem giá trị của toán hạng bên trái có lớn hơn hoặc bằng giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành true. (A> = B) là không đúng.
<= Kiểm tra xem giá trị của toán hạng bên trái có nhỏ hơn hoặc bằng giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành true. (A <= B) là đúng.

Toán tử Boolean

Bảng sau đây cho thấy tất cả các toán tử Boolean được hỗ trợ bởi ngôn ngữ F #. Giả sử biến A giữtrue và biến B giữ false, sau đó -

Hiển thị ví dụ

Nhà điều hành Sự miêu tả Thí dụ
&& Được gọi là toán tử Boolean AND. Nếu cả hai toán hạng đều khác 0, thì điều kiện trở thành true. (A && B) là sai.
|| Được gọi là Boolean HOẶC Toán tử. Nếu bất kỳ toán hạng nào trong hai toán hạng khác 0, thì điều kiện trở thành true. (A || B) là đúng.
không phải Được gọi là Toán tử Boolean NOT. Sử dụng để đảo ngược trạng thái logic của toán hạng của nó. Nếu một điều kiện là đúng thì toán tử logic NOT sẽ sai. not (A && B) là đúng.

Toán tử Bitwise

Toán tử bitwise làm việc trên các bit và thực hiện hoạt động từng bit. Bảng sự thật cho &&& (bitwise AND), ||| (theo chiều dọc OR) và ^^^ (OR riêng theo bit) như sau:

Hiển thị ví dụ

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

Giả sử nếu A = 60; và B = 13; bây giờ ở định dạng nhị phân, chúng sẽ như sau:

A = 0011 1100

B = 0000 1101

-----------------

A &&& B = 0000 1100

A ||| B = 0011 1101

A ^^^ B = 0011 0001

~~~ A = 1100 0011

Các toán tử Bitwise được hỗ trợ bởi ngôn ngữ F # được liệt kê trong bảng sau. Giả sử biến A giữ 60 và biến B giữ 13, thì -

Nhà điều hành Sự miêu tả Thí dụ
&&& Toán tử AND nhị phân sao chép một bit vào kết quả nếu nó tồn tại trong cả hai toán hạng. (A &&& B) sẽ cho 12, là 0000 1100
||| Toán tử OR nhị phân sao chép một bit nếu nó tồn tại trong một trong hai toán hạng. (A ||| B) sẽ cho 61, là 0011 1101
^^^ Toán tử XOR nhị phân sao chép bit nếu nó được đặt trong một toán hạng nhưng không phải cả hai. (A ^^^ B) sẽ cho 49, là 0011 0001
~~~ Toán tử bổ sung số nhị phân là một ngôi và có tác dụng 'lật' các bit. (~~~ A) sẽ cho -61, là 1100 0011 ở dạng phần bù của 2.
<<< Toán tử Shift trái nhị phân. Giá trị của toán hạng bên trái được di chuyển sang trái bằng số bit được chỉ định bởi toán hạng bên phải. A <<< 2 sẽ cho 240 là 1111 0000
>>> Toán tử Shift phải nhị phân. Giá trị của toán hạng bên trái được di chuyển sang phải bằng số bit được chỉ định bởi toán hạng bên phải. A >>> 2 sẽ cho 15 là 0000 1111

Ưu tiên nhà khai thác

Bảng sau đây cho thấy thứ tự ưu tiên của các toán tử và các từ khóa biểu thức khác trong ngôn ngữ F #, từ ưu tiên thấp nhất đến ưu tiên cao nhất.

Hiển thị ví dụ

Nhà điều hành Sự liên kết
như Đúng
khi nào Đúng
| (ống) Trái
; Đúng
để cho Không liên kết
chức năng, vui vẻ, phù hợp, thử Không liên kết
nếu Không liên kết
Đúng
: = Đúng
, Không liên kết
hoặc, || Trái
&, && Trái
<op,> op, =, | op, & op Trái
&&&, |||, ^^^, ~~~, <<<, >>> Trái
^ op Đúng
:: Đúng
:?>,:? Không liên kết
- op, + op, (nhị phân) Trái
* op, / op,% op Trái
** op Đúng
fx (ứng dụng chức năng) Trái
| (khớp mẫu) Đúng
toán tử tiền tố (+ op, -op,%, %%, &, &&,! op, ~ op) Trái
. Trái
f (x) Trái
f <kiểu> Trái