C# Các Phép Toán

Toán tử trong C# là gì? Toán tử Operators hay còn gọi là phép toán .Các toán tử là các biểu tượng cụ thể mà thực hiện một số phép tính toán trên các biến và giá trị.

Ví dụ thực hiện phép tính cộng: 8 + 3 = 11

Trong đó 8 và 3 được gọi là các toán hạng và

Dấu + được gọi là toán tử hay phép cộng.

Các phép toán trong C#

Dưới đây là các phép toán trong C#

  1. Phép toán số học trong C#
  2. Phép toán so sánh trong C#
  3. Phép toán gán trong C#
  4. Phép toán logic trong C#
  5. Phép toán thao tác bit trong Python
  6. Thứ tự ưu tiên của các phép toán trong Python

Phép toán số học trong Python

Giả sử ta có biến a = 6 và b = 3, ta có các phép toán số học sau :

Toán tửMô tảVí dụ
+Phép cộng.a + b = 9
-Phép trừ.a – b =3
*Phép nhâna * b = 18
/Phép chia lấy phần nguyên.a / b = 2
%Phép chia lấy phần dư.b % a = 0
** ExponentPhép lấy số mũ (ví dụ 2**3 cho kết quả là 2 mũ 3 = 8).a**b = 6 mũ 3
//Floor Division - Phép chia toán hạng trong đó kết quả là thương số trong đó các chữ số sau dấu thập phân được loại bỏ. Nhưng nếu một trong các toán hạng là âm, kết quả sẽ được làm tròn, được làm tròn từ 0 (hướng tới vô cực âm)9//2 = 4 và 9.0//2.0 = 4.0, -11//3 = -4, -11.0//3 = -4.0

Ví dụ

# Phép toán số học trong C#

            int a = 6;
            int b = 3;
            float c;

            c = a + b ;
            Console.WriteLine(c);
            c = a - b;
            Console.WriteLine(c);
            c = a * b;
            Console.WriteLine(c);
            c = a / b;
            Console.WriteLine(c);
            c = a % b;
            Console.WriteLine(c);
            a--;
            Console.WriteLine(a);
            b++;
            Console.WriteLine(b);
            Console.ReadKey();

Kết quả:

Ket qua 

Phép toán so sánh, quan hệ trong C#

Trong C# có các phép toán so sánh sau:

Ví dụ : a=6 và b=3 ta có phép toán so sánh trong python như sau:

Toán tửMô tảVí dụ
==So sánh bằng.(a == b) cho kết quả false.
!=So sánh không bằng.(a != b) cho kết quả true.
<>Không bằng (tương tự !=)(a <> b) cho kết quả true.
>Lớn hơn.(a > b) cho kết quả  true.
<Nhỏ hơn.(a < b) cho kết quả false.
>=Lớn hơn hoặc bằng.(a >= b) cho kết quả true.
<=Nhỏ hơn hoặc bằng.(a <= b) cho kết quả false.

Ví dụ

# Phép toán so sánh trong C#

 

Kết quả:

Ket qua

Phép toán gán trong C#

C# có các phép toán gán sau:

Toán tửMô tảVí dụ
=Phép gán bằng.c = a + b, gán a + b cho c
+=Phép gán cộng.c += a tương đương c = c + a
-=Phép gán trừ.c -= a tương đương c = c - a
*=Phép gán nhân.c *= a tương đương c = c * a
/=Phép gán chia lấy phần nguyên.c /= a tương đương c = c / a
%=Phép gán chia lấy phần dư.c %= a tương đương c = c % a
**=Phép gán lũy thừa.c **= a is tương đương c = c ** a
//=Phép gán chia floor.c //= a is tương đương to c = c // a

Ví dụ

# Phép toán so sánh trong C#

 

Kết quả:

Ket qua

Phép toán logic trong C#

Ví dụ ta có biến a = 5, b = 10 , Python có các phép toán logic sau :

Toán tửMô tảVí dụ
andNếu cả 2 biểu thức là true thì cho kết quả true.(a > 3 and b > 9) là true.
orNếu 1 trong 2 biểu thức là true thì cho ra kết quả true.(a > 3 or b > 10) is true.
notĐược sử dụng để đảo ngược logic của biểu thức.Not(a > 3) là false.

Ví dụ

# Phép toán so sánh trong C#

 

Kết quả:

Ket qua

Phép toán thao tác bit trong C#

Phép toán thao tác bit làm việc trên các bit và thực hiện các hoạt động theo từng bit. Giả sử a = 60 và b = 13 thì định dạng nhị phân của chúng lần lượt là:

a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b   = 0011 1101
a^b  = 0011 0001
~a    = 1100 0011 

Toán tửMô tảVí dụ
&Sao chép một bit tới kết quả nếu bit này tồn tại trong cả hai toán hạng(a & b) cho kết quả 0000 1100
|Sao chép một bit tới kết quả nếu bit này tồn tại trong bất kỳ toán hạng nào(a | b) = 61 (tức là 0011 1101)
^Sao chép bit nếu nó được set (chỉ bit 1) chỉ trong một toán hạng(a ^ b) = 49 (tức là 0011 0001)
~Đây là toán tử một ngôi, được sử dụng để đảo ngược bit(~a ) = -61 (tức là 1100 0011)
<<Toán tử dịch trái nhị phân. Giá trị của toán hạng trái được dịch chuyển sang trái một số lượng bit đã được xác định bởi toán hạng phảia << = 240 (tức là 1111 0000)
>>Toán tử dịch phải nhị phân. Giá trị của toán hạng trái được dịch chuyển sang phải một số lượng bit đã được xác định bởi toán hạng phảia >> = 15 (tức là 0000 1111)

Ví dụ

# Phép toán so sánh trong C#

 

Kết quả:

Ket qua

Thứ tự ưu tiên của các phép toán trong C#

Trong quá trình lập trình xây dựng chương trình phần mềm trong thực tế có nhiều bài toán sử dụng các đồng thời nhiều phép toán để tính toán, do đó bạn cần phải biết thứ tự ưu tiên của các phép toán đó.

Sau đây là thứ tự ưu tiên các phép trong C#

Toán tửMô tả
**Toán tử mũ
~ + -Phần bù; phép cộng và trừ một ngôi (với tên phương thức lần lượt là +@ và -@)
* / % //Phép nhân, chia, lấy phần dư và phép chia //
+ -Phép cộng và phép trừ
>> <<Dịch bit phải và dịch bit trái
&Phép Và Bit
^ |Phép XOR và OR
<= < > >=Các toán tử so sánh
<> == !=Các toán tử so sánh bằng
= %= /= //= -= += *= **=Các toán tử gán
is is notCác toán tử Identity
in not inCác toán tử Membership
not or andCác toán tử logic

Ví dụ

# Phép toán so sánh trong C#

 

Kết quả:

Ket qua