#include <bitset>
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
bool b = true;
std::cout << b << std::endl; //1
std::cout << boolalpha << b << std::endl; //true
std::cout << "===================================" << std::endl;
int i = 15;
bitset<32> bit(i);
std::cout << i << std::endl; //默认10进制
std::cout << dec << i << std::endl; //10进制
std::cout << bit << std::endl; //cout不支持直接输出2进制 可以使用bitset或自行计算
std::cout << hex << i << std::endl; //16进制
std::cout << oct << i << std::endl; //8进制
std::cout << "===================================" << std::endl;
std::cout << i << std::endl; //目前输出格式为8进制
std::cout << setbase(10) << i << std::endl; //将格式恢复为默认的10进制
std::cout << "===================================" << std::endl;
char s[32] = {0};
itoa(i, s, 2);
printf("%s\n", s); //没有输出2进制的格式符
printf("%o\n", i); //8进制
printf("%d\n", i); //10进制
printf("%x\n", i); //16进制
printf("%X\n", i); //16进制
system("pause");
return 0;
}