bitset实验

#include <iostream>
#include <bitset>
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <cmath>
using namespace std;

int main()
{
    const int len=10000000;
    //const int len=10000;
    cout<<"耗内存约:"<<
    len/8.0 //byte
    /1024.0   //kb
    /1024.0   //mb
    <<"mb"
    <<endl;

    srand( time(NULL) );

    bitset<len> bt;
    //cout<<bt<<endl;
    for(int i=0;i<15;++i){
        int rnd=rand()%len ;
        cout<<rnd<<",";
        bt.set(rnd);
    }
    cout<<endl;

    //output idx is 1
     for(int i=0;i<len;++i){
        if(bt.test(i)) cout<<i<<endl;
    }
    cout<<endl;
    //cout<<bt<<endl;


    //cout<<"rand_max:"<<RAND_MAX<<",2^16:"<<pow(2,15)<<endl;
    //bitset<64> bt64(32);
    //cout<<bt64<<endl;
    getchar();
    return 0;
}
posted @ 2011-06-29 02:06  庚武  Views(190)  Comments(0Edit  收藏  举报