Bỏ qua nội dung
Hướng dẫn Varlig
Trang chủ Varlig

Toán tử, so sánh và điều kiện

Trang này bao gồm các ký hiệu và từ kết hợp các giá trị: số học, thứ tự mà nó được thực hiện, so sánh trả lời true hoặc false, và các toán tử logic và bit. Sử dụng trang này khi một dòng đưa ra một số khác với số bạn mong đợi hoặc khi bạn muốn một ghi chú để kiểm tra điều gì đó cho bạn, chẳng hạn như liệu bạn có còn trong ngân sách hay không.

Số học

Toán tử Chính tả Ví dụ Kết quả
Cộng +, plus £12.50 + £4.30 £16.80
Trừ -, −, minus £20 - £4.50 £15.50
Nhân *, ×, times, multiplied by, đặt cạnh 3 × £4.50, 2(3 + 4) £13.50, 14
Chia /, ÷, divided by £60 / 4 £15.00
Lũy thừa ^, **, to the power of, raised to, exponent 2 ** 3, 2 raised to 10 8, 1,024
Số dư mod, % (giữa hai số) 50 mod 6, 50 % 6 2
Căn bậc hai √, sqrt(...), square root of √144 12
Bình phương / lập phương ², ³ 3³ 27
Giai thừa !, factorial(...) 5!, factorial(5) 120

Số học hoạt động trên các số đơn giản, tiền và số lượng với các đơn vị, và câu trả lời giữ tiền tệ hoặc đơn vị:

calc
£12.50 + £4.30 cho kết quả £16.80
3 * £4.50 cho kết quả £13.50
£1,000 * 1.05^3 cho kết quả £1,157.63
6 times 7 cho kết quả 42
100 minus 37.5 cho kết quả 62.5

Viết liền các thành phần nghĩa là bỏ dấu *, như trong 2(3 + 4) hoặc 2π. Phép nhân ngầm giải thích khi nào cách viết này dùng được và khi nào không.

Thứ tự thực hiện phép tính

Các phép tính theo thứ tự thông thường từ toán học ở trường:

  1. Dấu ngoặc.
  2. Giai thừa, như 5!.
  3. Lũy thừa, tính từ phải sang trái: 2^3^2 là 2^9, bằng 512.
  4. Dấu trừ hàng đầu, được áp dụng sau lũy thừa: -2^2 là -4, trong khi (-2)^2 là 4.
  5. Phép nhân, phép chia và mod, từ trái sang phải.
  6. Phép cộng và phép trừ, từ trái sang phải.

Bỏ * không thay đổi thứ tự này, vì vậy 2x^2 bình phương x trước khi nhân đôi nó, theo cách hoạt động của một công thức sách giáo khoa.

Điều đó có nghĩa là phép nhân xảy ra trước phép cộng bên cạnh nó, khiến mọi người không biết khi cộng hóa đơn:

calc
£85 - £12.50 * 2 cho kết quả £60.00
(£85 - £12.50) * 2 cho kết quả £145.00
£120 / 4 / 2 cho kết quả £15.00

Nếu chưa chắc, hãy thêm ngoặc. Chúng không gây hại và giúp bạn dễ đọc lại ghi chú về sau.

Dấu căn bậc hai áp dụng cho giá trị ngay sau nó, nên √9 + 16 bằng 19. Đặt toàn bộ biểu thức trong ngoặc để lấy căn của một tổng:

calc
√(9 + 16) cho kết quả 5

Số dư

mod cho những gì còn lại sau khi chia. Nó rất hữu ích để chia mọi thứ thành các nhóm:

calc
eggs = 50
eggs mod 6 cho kết quả 2
floor(eggs / 6) cho kết quả 8

Năm mươi quả trứng lấp đầy tám hộp sáu cái, còn lại hai cái.

% giữa hai số cũng là phần dư, ngay cả khi không có khoảng trắng trước số thứ hai: 50 % 6 và 50% 6 đều cho kết quả là 2. Một % không có gì sau nó tạo thành một phần trăm (50%), được đề cập trong Phần trăm.

Giai thừa

Đặt ! ngay sau số, tên hoặc dấu ngoặc đóng để lấy giai thừa:

calc
5! cho kết quả 120
runners = 4
runners! cho kết quả 24
3! + 2 cho kết quả 8
5!=4 cho kết quả true

Hàm giai thừa được tính toán trước một lũy thừa đứng cạnh nó, vì vậy 2^3! là 2⁶, tức là 64. ! theo sau bởi = vẫn là "không bằng nhau", như dòng cuối cùng cho thấy. factorial(5) cho kết quả giống như 5!.

So sánh

==, !=, <, <=, > và >= so sánh hai giá trị và trả về true hoặc false. Chúng dùng được với số không kèm đơn vị, số tiền cùng loại tiền tệ, và các đại lượng cùng loại kể cả khi khác đơn vị:

calc
budget = £400
spent = £365
spent <= budget cho kết quả true
spent == budget cho kết quả false
spent != budget cho kết quả true
5 km == 5,000 m cho kết quả true
90 min >= 1.5 hours cho kết quả true
2 kg < 2,500 g cho kết quả true

Đơn vị được chuyển đổi trước khi so sánh, nên 1 mile > 1.5 km là true. So sánh các đại lượng khác loại, như kilôgam với mét, gây lỗi incompatible units.

Những thứ so sánh không làm

  • Chuỗi. 5 < x < 10 không được hỗ trợ. Thay vào đó hãy kết hợp hai so sánh: 5 < x && x < 10.
  • Các ký hiệu Unicode. ≠, ≤ và ≥ không được nhận diện. Sử dụng !=, <= và >=.
  • Ngày tháng. Bạn không thể so sánh hai ngày với < hoặc >. Trừ chúng và so sánh sự khác biệt với một khoảng thời gian:
calc
deadline = 30 September 2026
booked = 14 September 2026
deadline - booked cho kết quả 2 weeks 2 days
deadline - booked >= 7 days cho kết quả true

Toán tử logic

Kết hợp các phép so sánh với && (cả hai phải đúng) hoặc || (ít nhất một trong hai phải đúng). Các từ and và or hoạt động giống nhau giữa hai phép so sánh.

calc
distance = 5 km
run time = 27 min
distance >= 5 km && run time < 30 min cho kết quả true
distance >= 10 km || run time < 25 min cho kết quả false
distance >= 10 km or run time < 30 min cho kết quả true

true và false có thể được viết trực tiếp và kết hợp với && và ||:

calc
true || false cho kết quả true
true && false cho kết quả false

Một số biểu mẫu bạn có thể mong đợi không được hỗ trợ:

  • and và or chỉ hoạt động giữa các phép so sánh. true and false không hoạt động; hãy viết true && false.
  • Không có toán tử phủ định: not true và !true không hoạt động. Hãy so sánh với false thay vào đó, như trong (spent > budget) == false.
  • or không phải là phương án dự phòng cho các lỗi: 1/0 or 5 không cho ra 5.

Sử dụng so sánh trong điều kiện

Việc so sánh hữu ích nhất trong phần if … then … else …, phần này chọn một giá trị tùy thuộc vào câu trả lời:

calc
basket = £34.50
if basket >= £40 then £0 else £3.99 cho kết quả £3.99

Conditionals bao gồm cú pháp đầy đủ, bao gồm else if, hậu tố if và unless, và gán bên trong một nhánh.

Toán tử trên bit

Các số nguyên hỗ trợ các toán tử bit & (và), | (hoặc), xor, << (chuyển sang trái) và >> (chuyển sang phải). Các từ viết hoa AND, OR và XOR cũng hoạt động. Chúng chủ yếu hữu ích cho các tác vụ lập trình như giá trị màu sắc và quyền truy cập tệp.

calc
12 & 10 cho kết quả 8
12 | 10 cho kết quả 14
12 xor 10 cho kết quả 6
12 AND 10 cho kết quả 8
1 << 10 cho kết quả 1,024
1024 >> 3 cho kết quả 128

Câu trả lời được hiển thị dưới dạng một số thông thường. Thêm to binary, in hex hoặc to octal để xem nó trong cơ sở bạn đang làm việc:

calc
0o644 | 0o111 to octal cho kết quả 0o755
colour = 0xFF8800
(colour >> 8) & 0xFF cho kết quả 136

Phép dịch bit được tính trước &, | và xor, nhưng thêm ngoặc giúp những dòng như ví dụ về màu dễ hiểu hơn nhiều.

Kết hợp các phần

Kiểm tra ngân sách hàng tháng sử dụng số học, so sánh và logic cùng nhau:

calc
# September budget
take home = £2,400
rent = £1,050
bills = £230
groceries = 4 * £65 cho kết quả £260.00
left over = take home - rent - bills - groceries cho kết quả £860.00
rent / take home as % cho kết quả 43.75%
left over > £500 cho kết quả true
left over > £500 && rent <= take home * 45% cho kết quả true

Trong groceries, phép nhân được tính trước mọi phép cộng; left over thực hiện phép trừ từ trái sang phải. Hai dòng cuối biến ghi chú thành công cụ kiểm tra: kết quả giữ là true khi còn hơn £500 và tiền thuê nhà không vượt 45% thu nhập thực nhận, rồi chuyển thành false ngay khi một trong hai điều kiện không còn đúng.