Solidity - Người điều hành
Nhà điều hành là gì?
Hãy để chúng tôi lấy một biểu thức đơn giản 4 + 5 is equal to 9. Ở đây 4 và 5 được gọi làoperands và '+' được gọi là operator. Solidity hỗ trợ các loại toán tử sau.
- Toán tử số học
- Toán tử so sánh
- Toán tử logic (hoặc quan hệ)
- Người điều hành nhiệm vụ
- Toán tử có điều kiện (hoặc bậc ba)
Chúng ta hãy xem xét từng toán tử một.
Toán tử số học
Solidity hỗ trợ các toán tử số học sau:
Giả sử biến A giữ 10 và biến B giữ 20, thì -
Hiển thị ví dụ
Sr.No. | Nhà điều hành & Mô tả |
---|---|
1 | + (Addition) Thêm hai toán hạng Ex: A + B sẽ cho 30 |
2 | - (Subtraction) Trừ toán hạng thứ hai với toán hạng đầu tiên Ex: A - B sẽ cho -10 |
3 | * (Multiplication) Nhân cả hai toán hạng Ex: A * B sẽ cho 200 |
4 | / (Division) Chia tử số cho mẫu số Ex: B / A sẽ cho 2 |
5 | % (Modulus) Kết quả còn lại của một phép chia số nguyên Ex: B% A sẽ cho 0 |
6 | ++ (Increment) Tăng giá trị số nguyên lên một Ex: A ++ sẽ cho 11 |
7 | -- (Decrement) Giảm một giá trị số nguyên Ex: A-- sẽ cho 9 |
Toán tử so sánh
Solidity hỗ trợ các toán tử so sánh sau:
Giả sử biến A giữ 10 và biến B giữ 20, thì -
Hiển thị ví dụ
Sr.No. | Nhà điều hành & Mô tả |
---|---|
1 | = = (Equal) 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. Ex: (A == B) không đúng. |
2 | != (Not Equal) 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. Ex: (A! = B) là đúng. |
3 | > (Greater than) 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. Ex: (A> B) không đúng. |
4 | < (Less than) 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. Ex: (A <B) là đúng. |
5 | >= (Greater than or Equal to) 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. Ex: (A> = B) là không đúng. |
6 | <= (Less than or Equal to) 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. Ex: (A <= B) là đúng. |
Toán tử logic
Solidity hỗ trợ các toán tử logic sau:
Giả sử biến A giữ 10 và biến B giữ 20, thì -
Hiển thị ví dụ
Sr.No. | Nhà điều hành & Mô tả |
---|---|
1 | && (Logical AND) Nếu cả hai toán hạng đều khác 0, thì điều kiện trở thành true. Ex: (A && B) là đúng. |
2 | || (Logical OR) 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. Ex: (A || B) là đúng. |
3 | ! (Logical NOT) Đả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ẽ làm cho nó sai. Ex:! (A && B) là sai. |
Toán tử Bitwise
Solidity hỗ trợ các toán tử bitwise sau:
Giả sử biến A giữ 2 và biến B giữ 3, khi đó -
Hiển thị ví dụ
Sr.No. | Nhà điều hành & Mô tả |
---|---|
1 | & (Bitwise AND) Nó thực hiện phép toán Boolean AND trên mỗi bit của các đối số nguyên của nó. Ex: (A & B) là 2. |
2 | | (BitWise OR) Nó thực hiện phép toán Boolean OR trên mỗi bit của các đối số nguyên của nó. Ex: (A | B) là 3. |
3 | ^ (Bitwise XOR) Nó thực hiện phép toán HOẶC độc quyền Boolean trên mỗi bit của các đối số nguyên của nó. HOẶC độc quyền có nghĩa là toán hạng một là đúng hoặc toán hạng hai là đúng, nhưng không phải cả hai. Ex: (A ^ B) là 1. |
4 | ~ (Bitwise Not) Nó là một toán tử một ngôi và hoạt động bằng cách đảo ngược tất cả các bit trong toán hạng. Ex: (~ B) là -4. |
5 | << (Left Shift) Nó di chuyển tất cả các bit trong toán hạng đầu tiên của nó sang trái theo số vị trí được chỉ định trong toán hạng thứ hai. Các bit mới được lấp đầy bởi các số không. Chuyển một giá trị sang trái một vị trí tương đương với nhân nó với 2, dịch chuyển hai vị trí tương đương với nhân 4, v.v. Ex: (A << 1) là 4. |
6 | >> (Right Shift) 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. Ex: (A >> 1) là 1. |
7 | >>> (Right shift with Zero) Toán tử này cũng giống như toán tử >>, ngoại trừ việc các bit được chuyển sang bên trái luôn bằng không. Ex: (A >>> 1) là 1. |
Người điều hành nhiệm vụ
Solidity hỗ trợ các toán tử gán sau:
Hiển thị ví dụ
Sr.No. | Nhà điều hành & Mô tả |
---|---|
1 | = (Simple Assignment ) Gán các giá trị từ toán hạng bên phải cho toán hạng bên trái Ex: C = A + B sẽ gán giá trị của A + B vào C |
2 | += (Add and Assignment) Nó thêm toán hạng bên phải vào toán hạng bên trái và gán kết quả cho toán hạng bên trái. Ex: C + = A tương đương với C = C + A |
3 | −= (Subtract and Assignment) Nó trừ toán hạng bên phải khỏi toán hạng bên trái và gán kết quả cho toán hạng bên trái. Ex: C - = A tương đương với C = C - A |
4 | *= (Multiply and Assignment) Nó nhân toán hạng bên phải với toán hạng bên trái và gán kết quả cho toán hạng bên trái. Ex: C * = A tương đương với C = C * A |
5 | /= (Divide and Assignment) Nó chia toán hạng bên trái với toán hạng bên phải và gán kết quả cho toán hạng bên trái. Ex: C / = A tương đương với C = C / A |
6 | %= (Modules and Assignment) Nó có mô đun sử dụng hai toán hạng và gán kết quả cho toán hạng bên trái. Ex: C% = A tương đương với C = C% A |
Note - Logic tương tự áp dụng cho các toán tử Bitwise vì vậy chúng sẽ trở thành như << =, >> =, >> =, & =, | = và ^ =.
Điều hành có điều kiện (? :)
Toán tử điều kiện đầu tiên đánh giá một biểu thức cho một giá trị đúng hoặc sai và sau đó thực hiện một trong hai câu lệnh đã cho tùy thuộc vào kết quả của việc đánh giá.
Hiển thị ví dụ
Sr.No. | Nhà điều hành và Mô tả |
---|---|
1 | ? : (Conditional ) Nếu Điều kiện là đúng? Sau đó giá trị X: Ngược lại giá trị Y |