位示圖

位示圖

位示圖是利用二進制的一位來表示磁碟中的一個盤塊的使用情況。當其值為“0”時,表示對應的盤塊空閒;為“1”時,表示已經分配。有的系統把"0"作為盤塊已分配的標記,把“1”作為空閒標誌。(它們的本質上是相同的,都是用一位的兩種狀態標誌空閒和已分配兩種情況。)磁碟上的所有盤塊都有一個二進制位與之對應,這樣,由所有盤塊所對應的位構成一個集合,稱為位示圖。

簡介

位示圖是利用二進制的一位來表示磁碟中的一個盤塊的使用情況。當其值為“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

3.代碼

4. 測試代碼

相關詞條

熱門詞條

聯絡我們