mirror of
https://github.com/boostorg/dynamic_bitset.git
synced 2026-01-19 16:22:10 +00:00
37 lines
1.3 KiB
C++
37 lines
1.3 KiB
C++
// (C) Copyright Jeremy Siek 2001. Permission to copy, use, modify,
|
|
// sell and distribute this software is granted provided this
|
|
// copyright notice appears in all copies. This software is provided
|
|
// "as is" without express or implied warranty, and with no claim as
|
|
// to its suitability for any purpose.
|
|
//
|
|
// Sample output:
|
|
// mask = 101010101010
|
|
// Enter a 12-bit bitset in binary: 100110101101
|
|
// x = 100110101101
|
|
// As ulong: 2477
|
|
// And with mask: 100010101000
|
|
// Or with mask: 101110101111
|
|
|
|
|
|
#include <iostream>
|
|
#include <boost/dynamic_bitset.hpp>
|
|
|
|
int main(int, char*[]) {
|
|
const boost::dynamic_bitset<> mask(12, 2730ul);
|
|
std::cout << "mask = " << mask << std::endl;
|
|
|
|
boost::dynamic_bitset<> x(12);
|
|
std::cout << "x.size()=" << x.size() << std::endl;
|
|
|
|
std::cout << "Enter a 12-bit bitset in binary: " << std::flush;
|
|
if (std::cin >> x) {
|
|
std::cout << "input number: " << x << std::endl;
|
|
std::cout << "As unsigned long: " << x.to_ulong() << std::endl;
|
|
std::cout << "And with mask: " << (x & mask) << std::endl;
|
|
std::cout << "Or with mask: " << (x | mask) << std::endl;
|
|
std::cout << "Shifted left: " << (x << 1) << std::endl;
|
|
std::cout << "Shifted right: " << (x >> 1) << std::endl;
|
|
}
|
|
return EXIT_SUCCESS;
|
|
}
|