2011-02-18 37 views
7

làm các nhà khai thác làm gì trong D 2.0:Các toán tử này làm gì trong D 2.0: <> =! <> =! <= !> =

  • <>=
  • !<>=
  • !<=
  • !>=
+0

Khi tiêu đề của bạn chứa toàn bộ câu hỏi, rất có thể bạn sẽ muốn tiết lộ chi tiết hơn một chút trong câu hỏi của mình ;-) –

+0

@Joachim: Haha. Tôi chỉ không cảm thấy như tôi có thể thêm bất cứ điều gì cho câu hỏi bằng cách lặp lại tiêu đề, nhưng cảm ơn cho chỉnh sửa anyway. :) – Mehrdad

+1

bạn có thể đã thêm vào khả năng đọc. Trong phông chữ tiêu đề thật khó để xem các ký tự nào thuộc về nhau và tạo thành một toán tử, ví dụ. –

Trả lời

7

Chúng được sử dụng cho các giá trị đó có thể là không có thứ tự, chẳng hạn như NaN cho phao và tăng gấp đôi. 1 <>= NaN đánh giá sai, trong khi x <>= y đánh giá là đúng đối với bất kỳ cặp số nào, miễn là số không phải là NaN. Các toán tử khác mà bạn đề cập đến hoạt động giống nhau, mutatis mutandis.

+2

Liên kết tới tài liệu: http://www.digitalmars.com/d/2.0/expression.html#floating_point_comparisons – stephan

+0

Cảm ơn! : D @stephan: Cảm ơn bạn đã liên kết! Tôi nghĩ rằng tôi đã nhìn khắp mọi nơi (trang từ vựng, trang quá tải toán tử, v.v.) nhưng dường như tôi đã bỏ qua nó. – Mehrdad

2

Câu trả lời dài:

Khi giao dịch với dấu chấm động, hai giá trị này sẽ so sánh là một trong những A<B, A=B, A>B hoặc không có thứ tự (nếu là NaN).

Các toán tử đại diện cho mọi hàng thú vị (không cố định) trong the truth table. Chúng có thể được hiểu là thử nghiệm đúng đối với mỗi trường hợp mà toán tử có char tương ứng, trừ khi nó có ! trong trường hợp giá trị được đảo ngược.

1

Chúng là các toán tử so sánh trong D, giống như ==, <>=. Trong D, giá trị nan (không phải là số) được tính đến. Hai số dấu phẩy động không chỉ có thể so sánh ít hơn, bằng hoặc lớn hơn, mà còn không có thứ tự, đó là trường hợp, nếu một trong các phép so sánh là nan.

Do đó <>= có nghĩa là ít hơn, bằng hoặc lớn hơn. Nói cách khác, <>= có nghĩa là yêu cầu.

Toán tử so sánh bắt đầu bằng số ! trả lại chính xác đối diện của đối tác của chúng mà không có !. Cụ thể, tất cả đều đánh giá là true, nếu một trong các so sánh là nan.

Dưới đây là một danh sách đầy đủ của tất cả các toán tử so sánh trong D:

  • ==
  • !=
  • >
  • >=
  • <
  • <=
  • !<>=
  • <>
  • <>=
  • !<=
  • !<
  • !>=
  • !>
  • !<>

Bạn có thể tìm thấy danh sách này trong the D documentation. Các hành vi của tất cả các toán tử này được giải thích ở đó.

Các vấn đề liên quan