- #include <iostream> 
- #include <vector> 
- #include <bitset> 
- using namespace std; 
-   
- int main() { 
- 	// version using a vetor of bool (1 bit per element) 
- 	vector<bool> v;   
- 	bool a=1; 
- 	bool b=0; 
- 	bool c=1; 
- 	bool d=0; 
- 	v.push_back(a); v.push_back(b); v.push_back(c); v.push_back(d);  
- 	// but using/converting vetor<bool> is not so easy 
- 	for (int i=0; i<4; i++)  
- 		cout << v[i] <<" "; 
- 	cout<<endl;  
-   
- 	// version using a bitset  
- 	bitset<8> s;  
- 	s[3]=a;   // access elements as easily as in an array or a vector 
- 	s[2]=b; 
- 	s[1]=c;  
- 	s[0]=d;   // least significant bit (according to the standard) 
- 	cout << s<<endl;    // streams the bitset as a string of '0' and '1'  
- 	cout << "0x"<< hex << s.to_ulong()<<endl; // convert the bitset to unsigned long 
- 	cout << s[3] <<endl;     // access a specific bit 
- 	cout << "Number of bits set: " << s.count()<<endl;  
-   
- 	bitset<2400> ls;   
- 	ls[2201]=true;  
- 	return 0; 
- } 
				I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Yml0c2V0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CgkvLyB2ZXJzaW9uIHVzaW5nIGEgdmV0b3Igb2YgYm9vbCAoMSBiaXQgcGVyIGVsZW1lbnQpCgl2ZWN0b3I8Ym9vbD4gdjsgIAoJYm9vbCBhPTE7Cglib29sIGI9MDsKCWJvb2wgYz0xOwoJYm9vbCBkPTA7Cgl2LnB1c2hfYmFjayhhKTsgdi5wdXNoX2JhY2soYik7IHYucHVzaF9iYWNrKGMpOyB2LnB1c2hfYmFjayhkKTsgCgkvLyBidXQgdXNpbmcvY29udmVydGluZyB2ZXRvcjxib29sPiBpcyBub3Qgc28gZWFzeQoJZm9yIChpbnQgaT0wOyBpPDQ7IGkrKykgCgkJY291dCA8PCB2W2ldIDw8IiAiOwoJY291dDw8ZW5kbDsgCgkKCS8vIHZlcnNpb24gdXNpbmcgYSBiaXRzZXQgCgliaXRzZXQ8OD4gczsgCglzWzNdPWE7ICAgLy8gYWNjZXNzIGVsZW1lbnRzIGFzIGVhc2lseSBhcyBpbiBhbiBhcnJheSBvciBhIHZlY3RvcgoJc1syXT1iOwoJc1sxXT1jOyAKCXNbMF09ZDsgICAvLyBsZWFzdCBzaWduaWZpY2FudCBiaXQgKGFjY29yZGluZyB0byB0aGUgc3RhbmRhcmQpCgljb3V0IDw8IHM8PGVuZGw7ICAgIC8vIHN0cmVhbXMgdGhlIGJpdHNldCBhcyBhIHN0cmluZyBvZiAnMCcgYW5kICcxJyAKCWNvdXQgPDwgIjB4Ijw8IGhleCA8PCBzLnRvX3Vsb25nKCk8PGVuZGw7IC8vIGNvbnZlcnQgdGhlIGJpdHNldCB0byB1bnNpZ25lZCBsb25nCgljb3V0IDw8IHNbM10gPDxlbmRsOyAgICAgLy8gYWNjZXNzIGEgc3BlY2lmaWMgYml0Cgljb3V0IDw8ICJOdW1iZXIgb2YgYml0cyBzZXQ6ICIgPDwgcy5jb3VudCgpPDxlbmRsOyAKCQoJYml0c2V0PDI0MDA+IGxzOyAgCglsc1syMjAxXT10cnVlOyAKCXJldHVybiAwOwp9