簡介
位示圖是利用二進制的一位來表示磁碟中的一個盤塊的使用情況。當其值為“0”時,表示對應的盤塊空閒;為“1”時,表示已經分配。有的系統把"0"作為盤塊已分配的標記,把“1”作為空閒標誌。(它們的本質上是相同的,都是用一位的兩種狀態標誌空閒和已分配兩種情況。)磁碟上的所有盤塊都有一個二進制位與之對應,這樣,由所有盤塊所對應的位構成一個集合,稱為位示圖。通常可用m*n個位數來構成位示圖,並使m*n等於磁碟的總塊數。
位示圖也可描述為一個二維數組map:
Var map:array of bit;
位示圖用於存儲空間的分配和回收。
位示圖的實現
1. 定義:
位示圖(bitmap)又叫點陣圖,它的最小單元是一個bit。每個bit有兩種取值1或0。
位示圖是一種非常常用的結構,在索引,數據壓縮等方面有廣泛套用。本文介紹了點陣圖的實現方法及其套用場景。
2. 實現
在C/C++中沒有位示圖這種數據類型,下面我們利用int來實現一個位示圖類
每個int有sizeof(int)*8個bit