📄 example3.cpp
字号:
// Copyright (c) 2001 Jeremy Siek// Copyright (c) 2008 Gennaro Prota// 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 run://// mask = 101010101010// x.size() = 0// Enter a bitset in binary: x = 100100010//// Input number: 100100010// x.size() is now: 9// As unsigned long: 290// Mask (possibly resized): 010101010// And with mask: 000100010// Or with mask: 110101010// Shifted left by 1: 001000100// Shifted right by 1: 010010001#include "boost/dynamic_bitset.hpp"#include <ostream>#include <iostream>int main(){ boost::dynamic_bitset<> mask(12, 2730ul); std::cout << "mask = " << mask << std::endl; boost::dynamic_bitset<> x; std::cout << "x.size() = " << x.size() << std::endl; std::cout << "Enter a bitset in binary: x = " << std::flush; if (std::cin >> x) { const std::size_t sz = x.size(); std::cout << std::endl; std::cout << "Input number: " << x << std::endl; std::cout << "x.size() is now: " << sz << std::endl; bool fits_in_ulong = true; unsigned long ul = 0; try { ul = x.to_ulong(); } catch(std::overflow_error &) { fits_in_ulong = false; } std::cout << "As unsigned long: "; if(fits_in_ulong) { std::cout << ul; } else { std::cout << "(overflow exception)"; } std::cout << std::endl; mask.resize(sz); std::cout << "Mask (possibly resized): " << mask << std::endl; std::cout << "And with mask: " << (x & mask) << std::endl; std::cout << "Or with mask: " << (x | mask) << std::endl; std::cout << "Shifted left by 1: " << (x << 1) << std::endl; std::cout << "Shifted right by 1: " << (x >> 1) << std::endl; } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -