Bit-map就是用一個bit位來標記某個元素對應的Value, 而Key即是該元素。由於採用了Bit爲單位來存儲數據,因此在存儲空間方面,可以大大節省。
Map映射表
位移轉換
Bit-Map的應用
1)可進行數據的快速查找,判重,刪除,一般來說數據範圍是int的10倍以下。
2)去重數據而達到壓縮數據
統計一個整數對應的二進數中有幾個1?
這裏寫代碼片
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char * argv[])
{
int val;
int index;
int cnt;
while(fflush(stdin), scanf("%d", &val) == 1)
{
index = 0;
cnt = 0;
while(index <= 31)
{
if((val & (1 << index)) != 0)
{
cnt++;
}
index++;
}
printf("1: %d\n", cnt);
}
system("pause");
return 0;
}