c++中bitset与16进制与二进制字符串之间的转换

前言

这是一个重要的知识点,需要掌握。仔细体会代码。

#include
#include
#include

using namespace std;

/*
测试16进制表示
*/

int main()
{
    int a1 = 0xc0;
    cout << a1 << endl;
    string a("0xc0");
    // 16进制字符串转整数
    int b = strtol(a.c_str(),nullptr,16);
    cout << b << endl;
    // 整数转二进制
    bitset<8> bBin(b);
    cout<< bBin << endl;
    // 二进制字符串初始化bitset
    string c("1101");
    bitset<4> Cbin(c);
    int cnum = Cbin.to_ulong();
    cout << Cbin << ", "<<cnum<< endl;

    return 0;
}

结果

192
192
11000000
1101, 13

你可能感兴趣的:(c++,算法,开发语言)