C++

输出 8 进制、16进制、10进制的数

  • printf中的 %o %x %d 来分别输出 8 进制、16进制、10进制的数
  • cout输出

    cout<<n<<endl;               // 输出 10 进制
    cout<<hex<<n<<endl;        // 输出 16 进制
    cout<<oct<<n<<endl;        // 输出 8 进制

输出二进制数——<bitset>

常用方法

#include <bitset>

bitset<n> b;              //b有n位,每位都为0
bitset<n> b(u);              //b是unsigned long型u的一个副本
bitset<n> b(s);              //b是string对象s中含有的位串的副本; 
                          //Eg. bistset<3> b("10"); // output: 010
bitset<n> b(s, pos, n);      //b是s中从位置pos开始的n个位的副本

可用to_string()转化为string类型输出

#include <iostream>
#include <string>
#include <bitset>
using namespace std;

int main(int argc, char const *argv[]){
    bitset<8> n(15);
    cout<<n.to_string()<<endl;
    bitset<8> b(-13);
    cout<<b.to_string()<<endl; 
    return 0;
}

// output:
// 00001111
// 11110011
Reference: C++ 如何输出各种进制的数?OJ刷题利器 bitset
This is just a placeholder img.