+
+ BigUnsigned i(0xFF0000FF), j(0x0000FFFF);
+ // All five ``return-by-value'' bitwise operators.
+ std::cout.flags(std::ios::hex | std::ios::showbase);
+ std::cout << (i & j) << '\n' << (i | j) << '\n' << (i ^ j) << '\n'
+ << (j << 21) << '\n' << (j >> 10) << '\n';
+ std::cout.flags(std::ios::dec);
+
+ // Let's do some heavy lifting and calculate powers of 314.
+ int maxPower = 10;
+ BigUnsigned x(1), big314(314);
+ for (int power = 0; power <= maxPower; power++) {
+ std::cout << "314^" << power << " = " << x << std::endl;
+ x *= big314; // A BigInteger assignment operator
+ }
+