码迷,mamicode.com
首页 > 其他好文 > 详细

bitmap

时间:2016-05-10 12:50:13      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

  bitmap是通过1个位表示一个状态,比如:int类型有2^32个数字,即4G个数字,那么每个数字一个状态,就是2^32个bit,即512 MB。

  即4G个数字(大约是4亿数字,如果是4G个整数,就是16GB大小)可以转化为512 MB大小

 1 #include <iostream>
 2 #include <memory.h>
 3 using namespace std;
 4 
 5 char bitmap[4] ;
 6 
 7 void add(int n)
 8 {
 9       bitmap[n/8] |= (128 >> n%8);
10 }
11 
12 bool search(int n)
13 {
14         if(bitmap[n/8] & (128>>n%8))
15              return true;
16         return false;
17 }
18 
19 int main()
20 {
21     int n[] = {2, 5, 7, 9, 25,};
22     int i;
23 
24     memset (bitmap, 0, sizeof(bitmap));
25     
26     for( i=0; i<5; i++)
27           add(n[i]);
28 
29     for( i=0; i<5; i++)
30           if(search(n[i]))   
31               cout << "find " << n[i] <<endl;
32         
33     return 0;
34 
35 
36 }

 

bitmap

标签:

原文地址:http://www.cnblogs.com/daocaorenblog/p/5477096.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!