标签:blog io ar sp for div log bs amp
用int型存储占 800000000 * 4 / 1000 /1000/ = 3200M = 3.2G
用位数组存储占 3.2G /32 = 100M
#include<stdio.h> #include "tire.h" #include "limits.h" #define BITSLOTS(nb) (nb + CHAR_BIT -1)/CHAR_BIT #define BITMASK(b) (1 << ((b) % CHAR_BIT)) #define BITSLOT(b) ((b)/CHAR_BIT) #define BITSET(a,b) ((a)[BITSLOT(b)] |= BITMASK(b)) #define BITCLEAR(a,b) ((a)[BITSLOT(b)] &= ~BITMASK(b)) #define BITTEST(a,b) ((a)[BITSLOT(b)] & BITMASK(b)) int main(int,char**) { char* bitarray = new char[BITSLOTS(1000 * 1000 * 800)]; for(int i = 0;i< BITSLOTS(1000 * 1000 * 800);i++) bitarray[i] = 0; for(int i = 0;i< 1000 * 1000 * 800;i++) { if((i % (1000 * 1000 * 10)) != 0) { BITSET(bitarray,i); } } for(int i = 0;i< 1000 * 1000 * 800;i++) { if(!BITTEST(bitarray,i)) { printf("i==%d \n",i); } } getchar(); return 0; }
标签:blog io ar sp for div log bs amp
原文地址:http://www.cnblogs.com/kangbry/p/4089950.html