2015-09-27 37 views
8

Tại sao đôi khi bools được gọi là "cờ"? Nó chỉ là một phép ẩn dụ hay có lý do lịch sử đằng sau nó?Tại sao bools đôi khi được gọi là "cờ"?

+0

Tôi luôn tưởng tượng rằng nó có liên quan đến việc tăng hoặc giảm cờ để bắt đầu và dừng lưu lượng truy cập. – Davislor

Trả lời

6

Cờ là cách cổ xưa để truyền tải thông tin. Một lá cờ, nếu chúng ta bỏ qua việc giảm nó xuống một nửa cột, chỉ có hai trạng thái - được nâng lên hoặc không được nâng lên. Ví dụ: hãy xem xét cờ trắng - tăng nó có nghĩa là đầu hàng. Không tăng nó, trạng thái mặc định, có nghĩa là bạn không đầu hàng.

Biến boolean, như cờ, chỉ có hai trạng thái - truefalse.

4

Flag có thể được sử dụng như danh từ và như động từ: Để lá cờ có thể có nghĩa là cần lưu ý, nhãn hiệu, tín hiệu điều gì đó

Một sớm (nhưng có lẽ không phải là đầu tiên (Có lẽ đây có nguồn gốc từ việc sử dụng cờ hải lý?)) sử dụng của lá cờ dài nhất trong lịch sử máy tính có thể được tìm thấy trong IBM 1620 từ năm 1959 (tôi nhấn mạnh):

Memory được truy cập hai chữ số thập phân ở cùng một thời điểm (ngay cả-lẻ cặp chữ số cho dữ liệu số hoặc một ký tự chữ cái cho văn bản dữ liệu). Mỗi chữ số thập phân là 6 bit, bao gồm một chẵn lẻ lẻ Kiểm tra chút, một Cờ cắn, và bốn BCD bit cho giá trị của các chữ số trong định dạng sau:

CF 8 4 2 1

bit Cờ có nhiều công dụng:

  • Trong chữ số đáng kể nhất là nó được thiết lập để chỉ ra một số âm (ký độ richter).
  • Đã được đặt thành đánh dấu chữ số quan trọng nhất của một số (dấu).
  • Trong số ít nhất có ý nghĩa của các địa chỉ 5 chữ số, nó được đặt cho địa chỉ gián tiếp (tùy chọn trên 1620 I, tiêu chuẩn trên 1620 II). Có thể sử dụng tính năng đa hướng đa cấp (thậm chí bạn có thể đặt máy trong vòng lặp địa chỉ gián tiếp vô hạn). Ở giữa 3 chữ số của các địa chỉ 5 chữ số (trên 1620 II), chúng được thiết lập để chọn một trong 7 thanh ghi chỉ mục.

Vì vậy, một bit được sử dụng để đánh dấu hoặc biểu thị thứ gì đó được gọi là cờ bit.

Tất nhiên, việc sử dụng "cờ" trong flag fields hoặc thanh ghi trạng thái sau đó hoàn toàn tự nhiên.

Nhưng một khi sự kết hợp giữa cờ và bit đã được thiết lập thì cũng dễ hiểu rằng việc sử dụng chúng có thể trở thành trao đổi được. Và tất nhiên điều này cũng giữ cho các biến boolean.

PS: Cùng một câu hỏi đã là asked, nhưng tiếc là không có câu trả lời.

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