#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");
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9zPgojaW5jbHVkZSA8Yml0c2V0Pgp1c2luZyBzdGQ6OmNvdXQ7CnVzaW5nIHN0ZDo6ZW5kbDsKdXNpbmcgc3RkOjpiaXRzZXQ7CnVzaW5nIHN0ZDo6aW9zOwp0eXBlZGVmIHN0ZDo6aW9zX2Jhc2U6OmZtdGZsYWdzIGZsYWdzX3Q7CnZvaWQgcHJpbnRGbGFncyhjb25zdCBjaGFyKiBtc2cpIHsKICAgIGZsYWdzX3QgZmxhZ3MgPSBjb3V0LmZsYWdzKCk7CiAgICBiaXRzZXQ8c2l6ZW9mKGZsYWdzKSAqIDg+IGJzZXQoZmxhZ3MpOwogICAgY291dCA8PCBtc2cgPDwgIiA6ICIgPDwgYnNldCA8PCBlbmRsOwp9CmludCBtYWluKCkgewogICAgcHJpbnRGbGFncygiYmVmb3JlICAgICAgIik7CiAgICBjb3V0LnNldGYoaW9zOjpoZXgsIGlvczo6YmFzZWZpZWxkKTsKICAgIHByaW50RmxhZ3MoImFmdGVyIHNldGYgICIpOwogICAgY291dC51bnNldGYoaW9zOjpoZXgpOwogICAgcHJpbnRGbGFncygiYWZ0ZXIgdW5zZXRmIik7Cn0=