mirror of
https://github.com/boostorg/dynamic_bitset.git
synced 2026-01-19 16:22:10 +00:00
36 lines
1.1 KiB
C++
36 lines
1.1 KiB
C++
// (C) Copyright Jeremy Siek 2001.
|
|
// Distributed under the Boost Software License, Version 1.0. (See
|
|
// accompanying file LICENSE_1_0.txt or copy at
|
|
// http://www.boost.org/LICENSE_1_0.txt)
|
|
//
|
|
// 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;
|
|
}
|