#include <iostream>
#include <ios>
#include <bitset>
using std::cout;
using std::endl;
using std::bitset;
using std::ios;
typedef std::ios_base::fmtflags flags_t;
void printFlags(const char* msg) {
    flags_t flags = cout.flags();
    bitset<sizeof(flags) * 8> bset(flags);
    cout << msg << " : " << bset << endl;
}
int main() {
    printFlags("before      ");
    cout.setf(ios::hex, ios::basefield);
    printFlags("after setf  ");
    cout.unsetf(ios::hex);
    printFlags("after unsetf");
}