Skip to main content

Mảng Boolean là gì?

Một mảng boolean trong lập trình máy tính là một chuỗi các giá trị chỉ có thể giữ các giá trị đúng hoặc sai.Theo định nghĩa, Boolean chỉ có thể đúng hoặc sai và không thể giữ bất kỳ giá trị trung gian nào khác.Một mảng là một chuỗi các loại dữ liệu chiếm vị trí số trong không gian bộ nhớ tuyến tính.Mặc dù việc triển khai thực tế của một mảng boolean thường được để lại cho trình biên dịch hoặc thư viện ngôn ngữ máy tính, nhưng nó được thực hiện hiệu quả nhất bằng cách sử dụng các bit thay vì hoàn chỉnh byte hoặc từ.Có một số cách sử dụng cho một mảng boolean, bao gồm theo dõi các cờ thuộc tính và sắp xếp cài đặt cho các giao diện phần cứng vật lý. Ý tưởng về một mảng boolean bắt nguồn từ các phương thức gốc được sử dụng để lưu trữ thông tin trên máy tính có rất ít bộ nhớ có sẵn.Việc triển khai đầu tiên của một mảng Boolean có dạng một mảng một chút.Điều này đã sử dụng các loại dữ liệu lớn hơn như byte hoặc số nguyên dài để giữ thông tin bằng cách đặt các bit của kiểu dữ liệu thành đúng hoặc sai.Theo cách này, một byte duy nhất dài tám bit có thể chứa tám giá trị đúng hoặc sai khác nhau, tiết kiệm không gian và cho phép các hoạt động bitwise hiệu quả.

Khi kích thước của bộ nhớ máy tính tăng lên, cần sử dụng các mảng bit giảm.Mặc dù sử dụng BITS cung cấp khả năng dịch chuyển bit và sử dụng các toán tử logic cho phép xử lý cực kỳ nhanh, nhưng nó cũng yêu cầu mã tùy chỉnh để xử lý các loại hoạt động này.Sử dụng cấu trúc mảng tiêu chuẩn để giữ một chuỗi byte là một giải pháp đơn giản hơn, nhưng nó cần nhiều bộ nhớ hơn trong quá trình thực hiện chương trình.Điều này có thể được nhìn thấy khi tạo một mảng gồm 32 giá trị boolean.Với một mảng một chút, dữ liệu sẽ chỉ chiếm bốn byte bộ nhớ, nhưng một mảng loại Boolean có thể chiếm bất cứ nơi nào từ 32 đến 128 byte, tùy thuộc vào việc triển khai hệ thống.Loại mảng được sử dụng, mặc dù điều này không phổ biến.Một mảng boolean có lợi thế là rất dễ đọc khi xem mã nguồn.So sánh và bài tập được trình bày rõ ràng, trong khi với một chút mảng của các toán tử logic và, hoặc và không phải được sử dụng, có khả năng tạo mã khó hiểu. Mặc dù dễ sử dụng, một tính năng không thể được sử dụng với một mảng boolean là bitmask.Bitmask là một byte đơn hoặc loại dữ liệu lớn hơn chứa chuỗi các giá trị đúng và sai liên quan đến nhiều điều kiện.Trong một hoạt động duy nhất, nhiều bit có thể được kiểm tra cho các trạng thái đúng hoặc sai của chúng, tất cả cùng một lúc.Với một mảng các giá trị boolean dựa trên số nguyên, cùng một thao tác sẽ cần được thực hiện với một vòng lặp.